the code for translating strings in kdelibs (see
kdelibs/kdecore/localization/kcatalog.cpp) has finally made me roll my
own - locking global mutex, saving and restoring environment variables
on every string translation is not very good, is it?
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
only Debian seems to enable the dispatcher and it does not
make much difference, probably because it ships 0.8.0 while
the latest (and bundled) 0.8.1 claim to provide +40% better
performance.
benchmark result with bundled xxHash:
********* Start testing of tst_qcryptographichash *********
Config: Using QTest library 4.12.0, Katie 4.12.0
PASS : tst_qcryptographichash::initTestCase()
RESULT : tst_qcryptographichash::append():"10 (Md5)":
2,116.24331 CPU ticks per iteration (total: 423,248,663, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (Sha1)":
2,327.95652 CPU ticks per iteration (total: 465,591,304, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (Sha256)":
4,538.58415 CPU ticks per iteration (total: 907,716,831, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (Sha512)":
3,545.57214 CPU ticks per iteration (total: 709,114,428, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (KAT)":
1,055.78467 CPU ticks per iteration (total: 211,156,934, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Md5)":
570.349390 CPU ticks per iteration (total: 114,069,878, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Sha1)":
733.596795 CPU ticks per iteration (total: 146,719,359, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Sha256)":
926.539030 CPU ticks per iteration (total: 185,307,806, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Sha512)":
1,027.45295 CPU ticks per iteration (total: 205,490,590, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (KAT)":
612.773505 CPU ticks per iteration (total: 122,554,701, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Md5)":
559.535060 CPU ticks per iteration (total: 111,907,012, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Sha1)":
711.052220 CPU ticks per iteration (total: 142,210,444, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Sha256)":
867.967635 CPU ticks per iteration (total: 173,593,527, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Sha512)":
1,059.37588 CPU ticks per iteration (total: 211,875,177, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (KAT)":
555.657665 CPU ticks per iteration (total: 111,131,533, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Md5)":
534.696365 CPU ticks per iteration (total: 106,939,273, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Sha1)":
706.683535 CPU ticks per iteration (total: 141,336,707, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Sha256)":
860.014285 CPU ticks per iteration (total: 172,002,857, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Sha512)":
991.020390 CPU ticks per iteration (total: 198,204,078, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (KAT)":
530.340170 CPU ticks per iteration (total: 106,068,034, iterations: 200000)
PASS : tst_qcryptographichash::append()
RESULT : tst_qcryptographichash::append_once():"Md5":
1,461.98053 CPU ticks per iteration (total: 292,396,106, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"Sha1":
1,794.47376 CPU ticks per iteration (total: 358,894,752, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"Sha256":
4,139.07171 CPU ticks per iteration (total: 827,814,343, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"Sha512":
3,188.78708 CPU ticks per iteration (total: 637,757,416, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"KAT":
632.489945 CPU ticks per iteration (total: 126,497,989, iterations: 200000)
PASS : tst_qcryptographichash::append_once()
RESULT : tst_qcryptographichash::statichash():"Md5":
1,386.79875 CPU ticks per iteration (total: 277,359,750, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"Sha1":
1,676.14551 CPU ticks per iteration (total: 335,229,103, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"Sha256":
4,063.86235 CPU ticks per iteration (total: 812,772,470, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"Sha512":
3,084.00755 CPU ticks per iteration (total: 616,801,511, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"KAT":
617.316465 CPU ticks per iteration (total: 123,463,293, iterations: 200000)
PASS : tst_qcryptographichash::statichash()
PASS : tst_qcryptographichash::cleanupTestCase()
Totals: 5 passed, 0 failed, 0 skipped
********* Finished testing of tst_qcryptographichash *********
benchmark result with 0.8.0 and dispatcher:
********* Start testing of tst_qcryptographichash *********
Config: Using QTest library 4.12.0, Katie 4.12.0
PASS : tst_qcryptographichash::initTestCase()
RESULT : tst_qcryptographichash::append():"10 (Md5)":
1,968.59673 CPU ticks per iteration (total: 393,719,346, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (Sha1)":
2,199.79145 CPU ticks per iteration (total: 439,958,291, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (Sha256)":
4,222.34727 CPU ticks per iteration (total: 844,469,454, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (Sha512)":
3,281.03732 CPU ticks per iteration (total: 656,207,464, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (KAT)":
994.999260 CPU ticks per iteration (total: 198,999,852, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Md5)":
553.048500 CPU ticks per iteration (total: 110,609,700, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Sha1)":
661.749995 CPU ticks per iteration (total: 132,349,999, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Sha256)":
870.448295 CPU ticks per iteration (total: 174,089,659, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Sha512)":
984.230055 CPU ticks per iteration (total: 196,846,011, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (KAT)":
608.326970 CPU ticks per iteration (total: 121,665,394, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Md5)":
525.601325 CPU ticks per iteration (total: 105,120,265, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Sha1)":
678.677495 CPU ticks per iteration (total: 135,735,499, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Sha256)":
825.383300 CPU ticks per iteration (total: 165,076,660, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Sha512)":
1,051.29365 CPU ticks per iteration (total: 210,258,730, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (KAT)":
594.351090 CPU ticks per iteration (total: 118,870,218, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Md5)":
513.894990 CPU ticks per iteration (total: 102,778,998, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Sha1)":
682.573800 CPU ticks per iteration (total: 136,514,760, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Sha256)":
825.146855 CPU ticks per iteration (total: 165,029,371, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Sha512)":
942.555945 CPU ticks per iteration (total: 188,511,189, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (KAT)":
522.680560 CPU ticks per iteration (total: 104,536,112, iterations: 200000)
PASS : tst_qcryptographichash::append()
RESULT : tst_qcryptographichash::append_once():"Md5":
1,476.90255 CPU ticks per iteration (total: 295,380,511, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"Sha1":
1,624.12430 CPU ticks per iteration (total: 324,824,860, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"Sha256":
3,839.11658 CPU ticks per iteration (total: 767,823,317, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"Sha512":
3,003.13306 CPU ticks per iteration (total: 600,626,612, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"KAT":
605.017655 CPU ticks per iteration (total: 121,003,531, iterations: 200000)
PASS : tst_qcryptographichash::append_once()
RESULT : tst_qcryptographichash::statichash():"Md5":
1,396.13362 CPU ticks per iteration (total: 279,226,724, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"Sha1":
1,541.24351 CPU ticks per iteration (total: 308,248,703, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"Sha256":
3,768.31778 CPU ticks per iteration (total: 753,663,556, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"Sha512":
2,831.25420 CPU ticks per iteration (total: 566,250,840, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"KAT":
564.960245 CPU ticks per iteration (total: 112,992,049, iterations: 200000)
PASS : tst_qcryptographichash::statichash()
PASS : tst_qcryptographichash::cleanupTestCase()
Totals: 5 passed, 0 failed, 0 skipped
********* Finished testing of tst_qcryptographichash *********
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
fixes headers optimization when installing from component target, e.g. when
making package from the provided Debian package files
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>