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>