qt5base-lts/tests/benchmarks/corelib
Ritt Konstantin 9f865df5d1 optimize QList::removeAll()
a) don't detach until an occurrence found
b) don't memmove every time an occurrence found
c) truncate quickly )

well, numbers are better than words:
before:
RESULT : tst_QList::removeAll_primitive():
     2,617,902 CPU ticks per iteration (total: 261,790,171, iterations: 100)
RESULT : tst_QList::removeAll_movable():
     2,547,540 CPU ticks per iteration (total: 254,753,960, iterations: 100)
RESULT : tst_QList::removeAll_complex():
     16,852,099 CPU ticks per iteration (total: 1,685,209,906, iterations: 100)

after:
RESULT : tst_QList::removeAll_primitive():
     73,520 CPU ticks per iteration (total: 73,520,442, iterations: 1000)
RESULT : tst_QList::removeAll_movable():
     90,422 CPU ticks per iteration (total: 90,422,464, iterations: 1000)
RESULT : tst_QList::removeAll_complex():
     9,667,073 CPU ticks per iteration (total: 9,667,072,670, iterations: 1000)

Merge-request: 1285
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>

(cherry picked from commit b209fe3b1a51f64541067917e96de99f14ad65f3)

Change-Id: Ia26036ed741cefcf4b5868b7b2fc5eae8130d3dc
Reviewed-on: http://codereview.qt-project.org/4577
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2011-09-12 16:03:47 +02:00
..
codecs tests: do not run benchmarks by default in 'make check' 2011-07-19 13:11:37 +02:00
io test: removed bogus CONFIG+=debug in qdiriterator benchmark 2011-09-01 23:55:44 +02:00
kernel tests: do not run benchmarks by default in 'make check' 2011-07-19 13:11:37 +02:00
plugin tests: do not run benchmarks by default in 'make check' 2011-07-19 13:11:37 +02:00
thread QMutex is now just a pointer 2011-07-29 10:32:07 +02:00
tools optimize QList::removeAll() 2011-09-12 16:03:47 +02:00
corelib.pro Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00