the whole change is optimization around reference counting (QString,
QImage, etc. are already reference counted), beware QVariant::data()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
fixes QFile::size() for links and consequently QFile::atEnd() for
links, for QFile opened from fd or FILE* it will still report the
size of the link tho since such QFile objects do not have file entry
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
benchmark result:
********* 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,836.51288 CPU ticks per iteration (total: 567,302,577, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (Sha1)":
3,380.76135 CPU ticks per iteration (total: 676,152,271, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (Sha256)":
4,717.55225 CPU ticks per iteration (total: 943,510,450, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (Sha512)":
3,633.18907 CPU ticks per iteration (total: 726,637,814, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (KAT)":
1,379.36299 CPU ticks per iteration (total: 275,872,598, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Md5)":
659.939485 CPU ticks per iteration (total: 131,987,897, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Sha1)":
1,114.46593 CPU ticks per iteration (total: 222,893,186, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Sha256)":
951.730590 CPU ticks per iteration (total: 190,346,118, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Sha512)":
1,075.35127 CPU ticks per iteration (total: 215,070,254, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (KAT)":
737.365180 CPU ticks per iteration (total: 147,473,036, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Md5)":
602.405905 CPU ticks per iteration (total: 120,481,181, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Sha1)":
1,365.34060 CPU ticks per iteration (total: 273,068,121, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Sha256)":
902.280725 CPU ticks per iteration (total: 180,456,145, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Sha512)":
1,023.72560 CPU ticks per iteration (total: 204,745,120, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (KAT)":
630.126650 CPU ticks per iteration (total: 126,025,330, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Md5)":
583.649140 CPU ticks per iteration (total: 116,729,828, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Sha1)":
1,401.99279 CPU ticks per iteration (total: 280,398,558, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Sha256)":
884.796720 CPU ticks per iteration (total: 176,959,344, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Sha512)":
1,006.34675 CPU ticks per iteration (total: 201,269,350, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (KAT)":
614.444045 CPU ticks per iteration (total: 122,888,809, iterations: 200000)
PASS : tst_qcryptographichash::append()
RESULT : tst_qcryptographichash::append_once():"Md5":
1,573.19717 CPU ticks per iteration (total: 314,639,435, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"Sha1":
2,170.39628 CPU ticks per iteration (total: 434,079,257, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"Sha256":
4,227.21736 CPU ticks per iteration (total: 845,443,473, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"Sha512":
3,182.38488 CPU ticks per iteration (total: 636,476,976, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"KAT":
785.406275 CPU ticks per iteration (total: 157,081,255, iterations: 200000)
PASS : tst_qcryptographichash::append_once()
RESULT : tst_qcryptographichash::statichash():"Md5":
1,492.78744 CPU ticks per iteration (total: 298,557,489, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"Sha1":
2,078.32221 CPU ticks per iteration (total: 415,664,442, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"Sha256":
4,147.89762 CPU ticks per iteration (total: 829,579,525, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"Sha512":
3,076.56835 CPU ticks per iteration (total: 615,313,671, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"KAT":
746.683995 CPU ticks per iteration (total: 149,336,799, 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>
benchmark result:
********* 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,847.12983 CPU ticks per iteration (total: 569,425,966, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (Sha1)":
3,370.50678 CPU ticks per iteration (total: 674,101,357, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (Sha256)":
4,718.83796 CPU ticks per iteration (total: 943,767,592, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (Sha512)":
3,636.39393 CPU ticks per iteration (total: 727,278,787, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (KAT)":
1,424.54430 CPU ticks per iteration (total: 284,908,860, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Md5)":
674.086020 CPU ticks per iteration (total: 134,817,204, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Sha1)":
1,133.63370 CPU ticks per iteration (total: 226,726,740, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Sha256)":
940.656270 CPU ticks per iteration (total: 188,131,254, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Sha512)":
1,092.76190 CPU ticks per iteration (total: 218,552,381, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (KAT)":
752.884775 CPU ticks per iteration (total: 150,576,955, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Md5)":
635.722665 CPU ticks per iteration (total: 127,144,533, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Sha1)":
1,365.40317 CPU ticks per iteration (total: 273,080,634, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Sha256)":
893.019390 CPU ticks per iteration (total: 178,603,878, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Sha512)":
1,042.41434 CPU ticks per iteration (total: 208,482,868, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (KAT)":
647.685440 CPU ticks per iteration (total: 129,537,088, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Md5)":
613.694575 CPU ticks per iteration (total: 122,738,915, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Sha1)":
1,385.37680 CPU ticks per iteration (total: 277,075,361, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Sha256)":
875.499705 CPU ticks per iteration (total: 175,099,941, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Sha512)":
1,026.35629 CPU ticks per iteration (total: 205,271,259, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (KAT)":
613.024700 CPU ticks per iteration (total: 122,604,940, iterations: 200000)
PASS : tst_qcryptographichash::append()
RESULT : tst_qcryptographichash::append_once():"Md5":
1,575.48784 CPU ticks per iteration (total: 315,097,569, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"Sha1":
2,189.54088 CPU ticks per iteration (total: 437,908,176, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"Sha256":
4,181.71968 CPU ticks per iteration (total: 836,343,936, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"Sha512":
3,171.89449 CPU ticks per iteration (total: 634,378,899, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"KAT":
783.837000 CPU ticks per iteration (total: 156,767,400, iterations: 200000)
PASS : tst_qcryptographichash::append_once()
RESULT : tst_qcryptographichash::statichash():"Md5":
1,491.84898 CPU ticks per iteration (total: 298,369,796, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"Sha1":
2,074.73995 CPU ticks per iteration (total: 414,947,990, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"Sha256":
4,098.37431 CPU ticks per iteration (total: 819,674,863, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"Sha512":
3,075.87383 CPU ticks per iteration (total: 615,174,767, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"KAT":
745.386400 CPU ticks per iteration (total: 149,077,280, 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>