Ivailo Monev
d833715118
do not duplicate the file-descriptor from QDBusUnixFileDescriptor constructor
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-21 14:23:35 +03:00
Ivailo Monev
012a2b4ab4
build fix
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-04-18 22:32:45 +03:00
Ivailo Monev
fcd3d33e20
add test case for the previous commit
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-27 16:17:19 +03:00
Ivailo Monev
4a83c75544
prioritize file entry stat over fd stat
...
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>
2022-03-27 15:55:21 +03:00
Ivailo Monev
3c5ef26eeb
fix QFile::isSequential() for links
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-27 13:47:51 +03:00
Ivailo Monev
6789138092
fix hash collision when input data has odd length for Katie's hash algorithm
...
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>
2022-03-22 18:50:10 +02:00
Ivailo Monev
907b886d3d
test QCryptographicHash collisions with short data
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-22 18:30:06 +02:00
Ivailo Monev
e5792b5a36
drop QUuid class [ci reset]
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-22 15:30:33 +02:00
Ivailo Monev
a6eb4e3817
new qRandomUuid() function
...
benchmark result:
********* Start testing of tst_bench_QUuid *********
Config: Using QTest library 4.12.0, Katie 4.12.0
PASS : tst_bench_QUuid::initTestCase()
RESULT : tst_bench_QUuid::qRandomUuid_vs_createUuid():"qRandomUuid()":
97.821250 CPU ticks per iteration (total: 19,564,250, iterations: 200000)
RESULT : tst_bench_QUuid::qRandomUuid_vs_createUuid():"QUuid::createUuid":
108.41198 CPU ticks per iteration (total: 21,682,396, iterations: 200000)
PASS : tst_bench_QUuid::qRandomUuid_vs_createUuid()
RESULT : tst_bench_QUuid::createUuid():
57.377920 CPU ticks per iteration (total: 11,475,584, iterations: 200000)
PASS : tst_bench_QUuid::createUuid()
RESULT : tst_bench_QUuid::fromChar():
81.606610 CPU ticks per iteration (total: 16,321,322, iterations: 200000)
PASS : tst_bench_QUuid::fromChar()
RESULT : tst_bench_QUuid::toString():
79.527925 CPU ticks per iteration (total: 15,905,585, iterations: 200000)
PASS : tst_bench_QUuid::toString()
RESULT : tst_bench_QUuid::fromString():
78.037890 CPU ticks per iteration (total: 15,607,578, iterations: 200000)
PASS : tst_bench_QUuid::fromString()
RESULT : tst_bench_QUuid::toByteArray():
78.505810 CPU ticks per iteration (total: 15,701,162, iterations: 200000)
PASS : tst_bench_QUuid::toByteArray()
RESULT : tst_bench_QUuid::fromByteArray():
79.680680 CPU ticks per iteration (total: 15,936,136, iterations: 200000)
PASS : tst_bench_QUuid::fromByteArray()
RESULT : tst_bench_QUuid::toRfc4122():
62.749495 CPU ticks per iteration (total: 12,549,899, iterations: 200000)
PASS : tst_bench_QUuid::toRfc4122()
RESULT : tst_bench_QUuid::fromRfc4122():
7.604070 CPU ticks per iteration (total: 1,520,814, iterations: 200000)
PASS : tst_bench_QUuid::fromRfc4122()
RESULT : tst_bench_QUuid::toDataStream():
100.19905 CPU ticks per iteration (total: 20,039,811, iterations: 200000)
PASS : tst_bench_QUuid::toDataStream()
RESULT : tst_bench_QUuid::fromDataStream():
68.303560 CPU ticks per iteration (total: 13,660,712, iterations: 200000)
PASS : tst_bench_QUuid::fromDataStream()
RESULT : tst_bench_QUuid::isNull():
6.075315 CPU ticks per iteration (total: 1,215,063, iterations: 200000)
PASS : tst_bench_QUuid::isNull()
RESULT : tst_bench_QUuid::operatorLess():
18.49353 CPU ticks per iteration (total: 3,698,706, iterations: 200000)
PASS : tst_bench_QUuid::operatorLess()
RESULT : tst_bench_QUuid::operatorMore():
18.51902 CPU ticks per iteration (total: 3,703,804, iterations: 200000)
PASS : tst_bench_QUuid::operatorMore()
PASS : tst_bench_QUuid::cleanupTestCase()
Totals: 16 passed, 0 failed, 0 skipped
********* Finished testing of tst_bench_QUuid *********
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-22 11:50:06 +02:00
Ivailo Monev
56aaa5efbc
implement Katie's hash algorithm as class and split input data in two chunks
...
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>
2022-03-14 03:26:55 +02:00
Ivailo Monev
06f0b03f01
QCryptographicHash test to verify incremental and static hashing produce the same result
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-13 23:58:48 +02:00
Ivailo Monev
3227047514
drop BLAKE3 in favour of custom hash algorithm
...
faster than BLAKE3 and the other algorithms with collisions risk
reduced based on the length of the input data, 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)":
0.00280 msecs per iteration (total: 561, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (Sha1)":
0.00333 msecs per iteration (total: 667, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (Sha256)":
0.00467 msecs per iteration (total: 934, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (Sha512)":
0.00361 msecs per iteration (total: 723, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (KAT)":
0.00219 msecs per iteration (total: 439, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Md5)":
0.000620 msecs per iteration (total: 124, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Sha1)":
0.00109 msecs per iteration (total: 219, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Sha256)":
0.000900 msecs per iteration (total: 180, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Sha512)":
0.00106 msecs per iteration (total: 212, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (KAT)":
0.000740 msecs per iteration (total: 148, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Md5)":
0.000580 msecs per iteration (total: 116, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Sha1)":
0.00134 msecs per iteration (total: 268, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Sha256)":
0.000845 msecs per iteration (total: 169, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Sha512)":
0.00100 msecs per iteration (total: 200, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (KAT)":
0.000625 msecs per iteration (total: 125, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Md5)":
0.000550 msecs per iteration (total: 110, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Sha1)":
0.00137 msecs per iteration (total: 274, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Sha256)":
0.000830 msecs per iteration (total: 166, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Sha512)":
0.000985 msecs per iteration (total: 197, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (KAT)":
0.000575 msecs per iteration (total: 115, iterations: 200000)
PASS : tst_qcryptographichash::append()
RESULT : tst_qcryptographichash::append_once():"Md5":
0.00155 msecs per iteration (total: 310, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"Sha1":
0.00212 msecs per iteration (total: 424, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"Sha256":
0.00414 msecs per iteration (total: 828, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"Sha512":
0.00314 msecs per iteration (total: 629, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"KAT":
0.000805 msecs per iteration (total: 161, iterations: 200000)
PASS : tst_qcryptographichash::append_once()
RESULT : tst_qcryptographichash::statichash():"Md5":
0.00149 msecs per iteration (total: 298, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"Sha1":
0.00206 msecs per iteration (total: 413, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"Sha256":
0.00408 msecs per iteration (total: 817, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"Sha512":
0.00309 msecs per iteration (total: 618, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"KAT":
0.000610 msecs per iteration (total: 122, 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>
2022-03-13 23:07:11 +02:00
Ivailo Monev
4e5220dede
drop BLAKE2b and BLAKE2s in favour of BLAKE3
...
unfortunetly the reference C implementation
(https://github.com/oconnor663/blake3_reference_impl_c ) was slower on
static hash benchmark, faster on incremental hashing tho. while BLAKE2b
and BLAKE2s were faster than SHA-2 on incremental hashing BLAKE3 is
faster on both static and incremental hashing (compared to SHA-256),
benchmark results:
********* 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)":
0.00281 msecs per iteration (total: 563, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (Sha1)":
0.00334 msecs per iteration (total: 669, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (Sha256)":
0.00468 msecs per iteration (total: 936, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (Sha512)":
0.00366 msecs per iteration (total: 732, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (BLAKE3)":
0.00219 msecs per iteration (total: 438, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Md5)":
0.000660 msecs per iteration (total: 132, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Sha1)":
0.00112 msecs per iteration (total: 224, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Sha256)":
0.000935 msecs per iteration (total: 187, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Sha512)":
0.00108 msecs per iteration (total: 216, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (BLAKE3)":
0.000775 msecs per iteration (total: 155, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Md5)":
0.000590 msecs per iteration (total: 118, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Sha1)":
0.00135 msecs per iteration (total: 271, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Sha256)":
0.000870 msecs per iteration (total: 174, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Sha512)":
0.00101 msecs per iteration (total: 203, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (BLAKE3)":
0.000655 msecs per iteration (total: 131, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Md5)":
0.000575 msecs per iteration (total: 115, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Sha1)":
0.00138 msecs per iteration (total: 276, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Sha256)":
0.000855 msecs per iteration (total: 171, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Sha512)":
0.00100 msecs per iteration (total: 200, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (BLAKE3)":
0.000610 msecs per iteration (total: 122, iterations: 200000)
PASS : tst_qcryptographichash::append()
RESULT : tst_qcryptographichash::append_once():"Md5":
0.00157 msecs per iteration (total: 315, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"Sha1":
0.00217 msecs per iteration (total: 434, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"Sha256":
0.00428 msecs per iteration (total: 857, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"Sha512":
0.00319 msecs per iteration (total: 638, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"BLAKE3":
0.00164 msecs per iteration (total: 329, iterations: 200000)
PASS : tst_qcryptographichash::append_once()
RESULT : tst_qcryptographichash::statichash():"Md5":
0.00149 msecs per iteration (total: 299, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"Sha1":
0.00206 msecs per iteration (total: 413, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"Sha256":
0.00408 msecs per iteration (total: 816, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"Sha512":
0.00308 msecs per iteration (total: 616, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"BLAKE3":
0.00137 msecs per iteration (total: 274, 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>
2022-03-11 21:15:42 +02:00
Ivailo Monev
c7a0ad8a5e
QCryptographicHash benchmark review
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-11 20:13:10 +02:00
Ivailo Monev
75589486a3
add support for BLAKE2b and BLAKE2s hash sums
...
benchmark results:
********* 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)":
0.00275 msecs per iteration (total: 551, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Md5)":
0.000625 msecs per iteration (total: 125, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Md5)":
0.000570 msecs per iteration (total: 114, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Md5)":
0.000550 msecs per iteration (total: 110, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (Sha1)":
0.00327 msecs per iteration (total: 655, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Sha1)":
0.00106 msecs per iteration (total: 212, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Sha1)":
0.00131 msecs per iteration (total: 262, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Sha1)":
0.00133 msecs per iteration (total: 267, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (Sha256)":
0.00467 msecs per iteration (total: 934, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Sha256)":
0.000895 msecs per iteration (total: 179, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Sha256)":
0.000850 msecs per iteration (total: 170, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Sha256)":
0.000825 msecs per iteration (total: 165, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (Sha512)":
0.00361 msecs per iteration (total: 723, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Sha512)":
0.00105 msecs per iteration (total: 211, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Sha512)":
0.000995 msecs per iteration (total: 199, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Sha512)":
0.000980 msecs per iteration (total: 196, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (BLAKE2b)":
0.00278 msecs per iteration (total: 557, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (BLAKE2b)":
0.000740 msecs per iteration (total: 148, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (BLAKE2b)":
0.000690 msecs per iteration (total: 138, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (BLAKE2b)":
0.000650 msecs per iteration (total: 130, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (BLAKE2s)":
0.00335 msecs per iteration (total: 670, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (BLAKE2s)":
0.000645 msecs per iteration (total: 129, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (BLAKE2s)":
0.000600 msecs per iteration (total: 120, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (BLAKE2s)":
0.000580 msecs per iteration (total: 116, iterations: 200000)
PASS : tst_qcryptographichash::append()
RESULT : tst_qcryptographichash::append_once():"Md5":
0.00154 msecs per iteration (total: 308, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"Sha1":
0.00211 msecs per iteration (total: 422, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"Sha256":
0.00415 msecs per iteration (total: 831, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"Sha512":
0.00314 msecs per iteration (total: 629, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"BLAKE2b":
0.00164 msecs per iteration (total: 328, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"BLAKE2s":
0.00217 msecs per iteration (total: 435, iterations: 200000)
PASS : tst_qcryptographichash::append_once()
RESULT : tst_qcryptographichash::statichash():"Md5":
0.00148 msecs per iteration (total: 297, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"Sha1":
0.00206 msecs per iteration (total: 412, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"Sha256":
0.00409 msecs per iteration (total: 818, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"Sha512":
0.00307 msecs per iteration (total: 614, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"BLAKE2b":
0.00157 msecs per iteration (total: 314, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"BLAKE2s":
0.00211 msecs per iteration (total: 422, iterations: 200000)
PASS : tst_qcryptographichash::statichash()
RESULT : tst_qcryptographichash::algorithms():"Md5":
0.00148 msecs per iteration (total: 297, iterations: 200000)
RESULT : tst_qcryptographichash::algorithms():"Sha1":
0.00206 msecs per iteration (total: 412, iterations: 200000)
RESULT : tst_qcryptographichash::algorithms():"Sha256":
0.00409 msecs per iteration (total: 819, iterations: 200000)
RESULT : tst_qcryptographichash::algorithms():"Sha512":
0.00307 msecs per iteration (total: 614, iterations: 200000)
RESULT : tst_qcryptographichash::algorithms():"BLAKE2b":
0.00157 msecs per iteration (total: 314, iterations: 200000)
RESULT : tst_qcryptographichash::algorithms():"BLAKE2s":
0.00212 msecs per iteration (total: 424, iterations: 200000)
PASS : tst_qcryptographichash::algorithms()
PASS : tst_qcryptographichash::cleanupTestCase()
Totals: 6 passed, 0 failed, 0 skipped
********* Finished testing of tst_qcryptographichash *********
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-11 06:22:46 +02:00
Ivailo Monev
bfee83b9ab
benchmark all QCryptographicHash algorithms
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-11 04:48:35 +02:00
Ivailo Monev
cebeb86d53
remove redundant QNetworkInterface::humanReadableName() method
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-07 04:40:39 +02:00
Ivailo Monev
bfc5f89161
add QClipboard test
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-06 21:18:31 +02:00
Ivailo Monev
00a15e3ff5
add QAnimationGroup test
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-06 21:07:13 +02:00
Ivailo Monev
284f61d138
add QNetworkInterface test
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-05 06:37:09 +02:00
Ivailo Monev
351b6f320c
large and transparent image samples for QImageReader benchmark
...
Katie image format is 6x faster than png on transparent images, note
the size of the images. benchmark result:
********* Start testing of tst_QImageReader *********
Config: Using QTest library 4.12.0, Katie 4.12.0
PASS : tst_QImageReader::initTestCase()
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.kat":
0.450 msecs per iteration (total: 225, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.kat":
5.148 msecs per iteration (total: 2,574, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.kat":
2.176 msecs per iteration (total: 1,088, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.png":
1.82 msecs per iteration (total: 911, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.png":
19.46 msecs per iteration (total: 9,733, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.png":
12.34 msecs per iteration (total: 6,171, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.ppm":
0.586 msecs per iteration (total: 293, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.ppm":
2.728 msecs per iteration (total: 1,364, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.ppm":
2.418 msecs per iteration (total: 1,209, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.svg":
10.79 msecs per iteration (total: 5,399, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.xpm":
8.084 msecs per iteration (total: 4,042, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.xpm":
75.654 msecs per iteration (total: 37,827, iterations: 500)
RESULT : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.xpm":
63.850 msecs per iteration (total: 31,925, iterations: 500)
PASS : tst_QImageReader::readImage()
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.kat":
1.94 msecs per iteration (total: 974, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.kat":
6.598 msecs per iteration (total: 3,299, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.kat":
3.594 msecs per iteration (total: 1,797, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.png":
3.332 msecs per iteration (total: 1,666, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.png":
20.360 msecs per iteration (total: 10,180, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.png":
13.29 msecs per iteration (total: 6,645, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.ppm":
1.44 msecs per iteration (total: 720, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.ppm":
3.668 msecs per iteration (total: 1,834, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.ppm":
3.364 msecs per iteration (total: 1,682, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.svg":
9.324 msecs per iteration (total: 4,662, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.xpm":
9.622 msecs per iteration (total: 4,811, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.xpm":
77.180 msecs per iteration (total: 38,590, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.xpm":
65.346 msecs per iteration (total: 32,673, iterations: 500)
PASS : tst_QImageReader::setScaledSize()
PASS : tst_QImageReader::cleanupTestCase()
Totals: 4 passed, 0 failed, 0 skipped
********* Finished testing of tst_QImageReader *********
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-04 18:37:47 +02:00
Ivailo Monev
f81903f64d
Katie image format optimization
...
from 2x faster to 3x compared to png, benchmark results bellow:
********* Start testing of tst_QImageReader *********
Config: Using QTest library 4.12.0, Katie 4.12.0
PASS : tst_QImageReader::initTestCase()
RESULT : tst_QImageReader::readImage():"bench.kat":
0.452 msecs per iteration (total: 226, iterations: 500)
RESULT : tst_QImageReader::readImage():"bench.pbm":
0.026 msecs per iteration (total: 13, iterations: 500)
RESULT : tst_QImageReader::readImage():"bench.png":
1.82 msecs per iteration (total: 912, iterations: 500)
RESULT : tst_QImageReader::readImage():"bench.ppm":
0.588 msecs per iteration (total: 294, iterations: 500)
RESULT : tst_QImageReader::readImage():"bench.svg":
10.80 msecs per iteration (total: 5,400, iterations: 500)
RESULT : tst_QImageReader::readImage():"bench.xpm":
8.172 msecs per iteration (total: 4,086, iterations: 500)
PASS : tst_QImageReader::readImage()
RESULT : tst_QImageReader::setScaledSize():"bench.kat":
1.95 msecs per iteration (total: 977, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"bench.pbm":
1.34 msecs per iteration (total: 671, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"bench.png":
3.328 msecs per iteration (total: 1,664, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"bench.ppm":
1.44 msecs per iteration (total: 720, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"bench.svg":
9.304 msecs per iteration (total: 4,652, iterations: 500)
RESULT : tst_QImageReader::setScaledSize():"bench.xpm":
9.730 msecs per iteration (total: 4,865, iterations: 500)
PASS : tst_QImageReader::setScaledSize()
PASS : tst_QImageReader::cleanupTestCase()
Totals: 4 passed, 0 failed, 0 skipped
********* Finished testing of tst_QImageReader *********
********* Start testing of tst_QImageWriter *********
Config: Using QTest library 4.12.0, Katie 4.12.0
PASS : tst_QImageWriter::initTestCase()
RESULT : tst_QImageWriter::writeImage():"kat":
2.428 msecs per iteration (total: 1,214, iterations: 500)
RESULT : tst_QImageWriter::writeImage():"png":
7.798 msecs per iteration (total: 3,899, iterations: 500)
RESULT : tst_QImageWriter::writeImage():"ppm":
6.954 msecs per iteration (total: 3,477, iterations: 500)
PASS : tst_QImageWriter::writeImage()
PASS : tst_QImageWriter::cleanupTestCase()
Totals: 3 passed, 0 failed, 0 skipped
********* Finished testing of tst_QImageWriter *********
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-01 01:11:30 +02:00
Ivailo Monev
cb129b5889
add QSystemTrayIcon test
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-28 18:36:12 +02:00
Ivailo Monev
937b8c02ce
QVariant test build fix
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-28 17:13:39 +02:00
Ivailo Monev
58ad321c89
drop unused QQuaternion class [ci reset]
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-28 16:20:02 +02:00
Ivailo Monev
19c7089395
reimplement javascriptcore regexp via std::regex
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-28 05:08:23 +02:00
Ivailo Monev
a36e690506
optional custom image format, for the details see the webp branch
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-27 22:33:16 +02:00
Ivailo Monev
f379fe8dbd
remove irrelevant QImageIOHandler options
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-27 19:49:12 +02:00
Ivailo Monev
f07ccf82bf
build fix for the case when QT_NO_WHEELEVENT is defined
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-27 14:17:58 +02:00
Ivailo Monev
efb2a2f413
build fix for the case when QT_NO_WHATSTHIS is defined
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-27 14:03:14 +02:00
Ivailo Monev
c54fb779bc
build fix for the case when QT_NO_VECTOR2D, QT_NO_VECTOR3D or QT_NO_VECTOR4D is defined
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-27 13:25:10 +02:00
Ivailo Monev
99ba14998c
compiler warning fix
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-27 00:54:31 +02:00
Ivailo Monev
2c087f6144
oops, copy-pasta
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-26 23:26:54 +02:00
Ivailo Monev
b08f812780
build fix for the case when QT_NO_STYLE_WINDOWS is defined
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-26 22:24:40 +02:00
Ivailo Monev
106c44d412
build fix for the case when QT_NO_STYLE_STYLESHEET is defined
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-26 21:56:12 +02:00
Ivailo Monev
e6c7cf9300
build fix for the case when QT_NO_STYLE_PROXY is defined
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-26 20:59:08 +02:00
Ivailo Monev
f932710e16
partial build fix for the case when QT_NO_STATUSBAR is defined
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-26 19:55:05 +02:00
Ivailo Monev
dc74adcdbd
build fix for the case when QT_NO_SIZEGRIP is defined
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-26 04:41:33 +02:00
Ivailo Monev
089a63e673
partial build fix for the case when QT_NO_SIGNALMAPPER is defined
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-26 04:06:35 +02:00
Ivailo Monev
7af1f3d02c
build fix for the case when QT_NO_QUUID_STRING is defined
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-26 02:37:39 +02:00
Ivailo Monev
64e61d523f
build fix for the case when QT_NO_QUATERNION is defined
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-26 02:05:05 +02:00
Ivailo Monev
b230a5f32b
add QScrollArea test
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-25 20:45:18 +02:00
Ivailo Monev
91b178316d
add QDockWidget test
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-25 20:27:25 +02:00
Ivailo Monev
32ccace532
add QRadioButton test
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-25 19:44:03 +02:00
Ivailo Monev
ada1226c62
add QHeaderView test
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-25 19:29:39 +02:00
Ivailo Monev
9acd2412e8
build fix for the case when QT_NO_LOCALSERVER is defined
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-25 18:08:59 +02:00
Ivailo Monev
c357505009
QImageReader benchmark review
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-25 18:07:16 +02:00
Ivailo Monev
01f76a3061
remove images created by QImageWriter benchmark
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-25 16:43:01 +02:00
Ivailo Monev
3b039cd479
new QImageWriter benchmark
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-25 16:41:07 +02:00
Ivailo Monev
a8143a1334
easier to maintain QImageReader benchmark
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-25 16:39:33 +02:00