Revision 4cedfc1...

Go back to digest for 3rd February 2013

Optimization 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