Revision 4cedfc1...
Go back to digest for 3rd February 2013Optimization in Development Tools
Milian Wolff committed changes in [kdevplatform] /:
Optimize: Cache the hash of indexed set nodes.
hashlittle is apparently quite expensive - it shows up quite often
when looking at KDevelop traces - e.g. using perf top while its
parsing a project. This way we only calculate the hash once per
node and not multiple times.
Looking at the new environmenttest benchMerge:500 benchmark in the
C++ language plugin, we can see in callgrind, that hashlittle is now
only being called ~300k times instead of ~600k times before. The total
cycle estimation cost decreased by ~7%. I'd have hoped for more but
thats a start.
File Changes
Modified 6 files
- language/editor/modificationrevisionset.cpp
- language/editor/modificationrevisionset.h
- language/util/basicsetrepository.h
- language/util/setrepository.cpp
- language/util/setrepository.h
- language/duchain/tests/test_duchain.cpp
6 files changed in total