Revision 64fe266...

Go back to digest for 8th December 2013

Optimization in Development Tools

Milian Wolff committed changes in [kdevplatform] /:

Remove google sparse/dense hash code.

Replace the single place where it was used with a simple QSet.
Also cleanup the code, as this is not a hot-path thus the performance
is really not that important here.

Comparing before/after showed that DUContext::imports is roughly being
called 10k times when importing GammaRay as a project with a clean
cache. Parsing takes ca. 40s, of which 0.08s where spent in ::imports
with the old code. The new simpler QSet based variant takes ca. 0.1s
which is just as fine - esp. if we can get rid of so much code!

File Changes

Deleted 13 files
  • /google
  •   util/dense_hash_map
  •   util/dense_hash_set
  •   util/sparse_hash_map
  •   util/sparse_hash_set
  •   util/sparsetable
  •   util/template_util.h
  •   util/type_traits.h
  •   util/sparsehash/densehashtable.h
  •   util/sparsehash/hashtable-common.h
  •   util/sparsehash/libc_allocator_with_realloc.h
  •   util/sparsehash/sparseconfig.h
  •   util/sparsehash/sparseconfig_windows.h
  •   util/sparsehash/sparsehashtable.h
Modified 4 files
  •   cleanup_includeguards.sh
  •   format_sources
  •   language/duchain/ducontext.cpp
  •   language/duchain/ducontextdynamicdata.h
17 files changed in total