Optimization in Development Tools
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.