Revision 3cca0c5...
Go back to digest for 23rd December 2012Optimization in Development Tools
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
- /duchain
- language/repositories/itemrepository.h
- language/tests/serialization/indexedstring-ng.cpp