Revision 3cca0c5...

Go back to digest for 23rd December 2012

Optimization in Development Tools

Milian Wolff committed changes in [kdevplatform/indexedstring-ng] /duchain:

Further speedup IndexedStringNG by using a non-recursive mutex.

Generally, a recursive mutex is always an indication for bad API
design. IndexedString e.g. does lots of obsolete, duplicated recursive
mutex locking which is now streamlined. This gives another 20% speedup
in the index benchmark!

RESULT : BenchIndexedStringNG::index():
11.59 msecs per iteration (total: 1,160, iterations: 100)
RESULT : BenchIndexedStringNG::length():
3.60 msecs per iteration (total: 360, iterations: 100)
RESULT : BenchIndexedStringNG::qstring():
12.94 msecs per iteration (total: 1,295, iterations: 100)
RESULT : BenchIndexedStringNG::kurl():
91.34 msecs per iteration (total: 9,134, iterations: 100)
RESULT : BenchIndexedStringNG::hashString():
2.99 msecs per iteration (total: 299, iterations: 100)
RESULT : BenchIndexedStringNG::hashIndexed():
0.67 msecs per iteration (total: 67, iterations: 100)
RESULT : BenchIndexedStringNG::qSet():
2.41 msecs per iteration (total: 242, iterations: 100)

File Changes

Modified 2 files
  • /duchain
  •   language/repositories/itemrepository.h
  •   language/tests/serialization/indexedstring-ng.cpp
2 files changed in total