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
5bc2639e82
replace blake2b_explicit_memset() and blake2s_explicit_memset_impl with memset() for minor performance gain
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-11 07:07:25 +02:00
Ivailo Monev
0a6f72df2b
keyless BLAKE2b and BLAKE2s hash sums optimization
...
minor performance gain, 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.00278 msecs per iteration (total: 556, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Md5)":
0.000640 msecs per iteration (total: 128, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Md5)":
0.000605 msecs per iteration (total: 121, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Md5)":
0.000560 msecs per iteration (total: 112, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (Sha1)":
0.00332 msecs per iteration (total: 664, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Sha1)":
0.00109 msecs per iteration (total: 218, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Sha1)":
0.00133 msecs per iteration (total: 267, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Sha1)":
0.00136 msecs per iteration (total: 272, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (Sha256)":
0.00473 msecs per iteration (total: 946, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Sha256)":
0.000945 msecs per iteration (total: 189, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Sha256)":
0.000895 msecs per iteration (total: 179, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Sha256)":
0.000860 msecs per iteration (total: 172, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (Sha512)":
0.00361 msecs per iteration (total: 723, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (Sha512)":
0.00106 msecs per iteration (total: 213, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (Sha512)":
0.00100 msecs per iteration (total: 201, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (Sha512)":
0.000995 msecs per iteration (total: 199, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (BLAKE2b)":
0.00279 msecs per iteration (total: 558, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (BLAKE2b)":
0.000735 msecs per iteration (total: 147, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (BLAKE2b)":
0.000690 msecs per iteration (total: 138, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (BLAKE2b)":
0.000675 msecs per iteration (total: 135, iterations: 200000)
RESULT : tst_qcryptographichash::append():"10 (BLAKE2s)":
0.00335 msecs per iteration (total: 671, iterations: 200000)
RESULT : tst_qcryptographichash::append():"100 (BLAKE2s)":
0.000665 msecs per iteration (total: 133, iterations: 200000)
RESULT : tst_qcryptographichash::append():"250 (BLAKE2s)":
0.000620 msecs per iteration (total: 124, iterations: 200000)
RESULT : tst_qcryptographichash::append():"500 (BLAKE2s)":
0.000600 msecs per iteration (total: 120, iterations: 200000)
PASS : tst_qcryptographichash::append()
RESULT : tst_qcryptographichash::append_once():"Md5":
0.00154 msecs per iteration (total: 309, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"Sha1":
0.00212 msecs per iteration (total: 424, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"Sha256":
0.00420 msecs per iteration (total: 841, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"Sha512":
0.00313 msecs per iteration (total: 627, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"BLAKE2b":
0.00164 msecs per iteration (total: 328, iterations: 200000)
RESULT : tst_qcryptographichash::append_once():"BLAKE2s":
0.00218 msecs per iteration (total: 437, 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.00207 msecs per iteration (total: 415, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"Sha256":
0.00411 msecs per iteration (total: 822, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"Sha512":
0.00307 msecs per iteration (total: 615, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"BLAKE2b":
0.00157 msecs per iteration (total: 314, iterations: 200000)
RESULT : tst_qcryptographichash::statichash():"BLAKE2s":
0.00209 msecs per iteration (total: 419, 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.00207 msecs per iteration (total: 415, iterations: 200000)
RESULT : tst_qcryptographichash::algorithms():"Sha256":
0.00413 msecs per iteration (total: 827, iterations: 200000)
RESULT : tst_qcryptographichash::algorithms():"Sha512":
0.00306 msecs per iteration (total: 613, iterations: 200000)
RESULT : tst_qcryptographichash::algorithms():"BLAKE2b":
0.00157 msecs per iteration (total: 315, iterations: 200000)
RESULT : tst_qcryptographichash::algorithms():"BLAKE2s":
0.00209 msecs per iteration (total: 419, 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 07:02:39 +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
7bc2539ea4
do not mark the end of QCryptographicHash as unreachable in case invalid method was passed
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-11 04:28:43 +02:00
Ivailo Monev
6d1e5f56a6
lock before accessing global QML plugins map
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-07 19:31:48 +02:00
Ivailo Monev
45dad6d585
use typedef instead of struct for global declarative components map
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-07 19:21:16 +02:00
Ivailo Monev
7a5275274c
use QStdVector<T> for user events list and de-couple its mutex
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-07 19:04:53 +02:00
Ivailo Monev
0cedb69854
replace hardcoded Qt::MouseButton values with enums
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-07 18:56:19 +02:00
Ivailo Monev
2de3cc02e2
deal with TODO related to QGraphicsItem data store
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-07 18:46:47 +02:00
Ivailo Monev
25aa050192
remove redundant global static used by QNetworkInterface
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-07 18:18:02 +02:00
Ivailo Monev
426c95cd47
implement QNetworkInterface via getifaddrs() and one ioctl() for the MAC only
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-07 16:14:00 +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
de4457c54a
build fix for hosts without SIOCGIFHWADDR ioctl()
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-07 02:53:26 +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
45b4071517
do not copy socket address structure in qt_socket_getPortAndAddress() function
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-05 15:59:20 +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
95c899efc6
fill hardware address of QNetworkInterface when QT_HAVE_GETIFADDRS is defined
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-05 06:29:54 +02:00
Ivailo Monev
d6bb73a786
QNetworkInterfacePrivate::makeHwAddress() optimization
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-05 06:26:52 +02:00
Ivailo Monev
1b3c209010
build fix for the case when compiler mode is C++17 or newer
...
documented at https://en.cppreference.com/w/cpp/regex/basic_regex , good
thing JSC regex are not used for anything relevant, Kate uses some in its
indendation scripts and that's about it
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-04 23:32:40 +02:00
Ivailo Monev
be6bde63ea
QWorkspace class dismissed
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-04 19:36:29 +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
c8b66a0e4b
implement quality option for Katie image format and document how it works
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-04 16:59:08 +02:00
Ivailo Monev
5e0f6e6c39
correct definition for conditional QTabWidget feature
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-03 20:47:02 +02:00
Ivailo Monev
ba0858bee2
fix possible crash when session manager property is empty list
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-03 20:03:11 +02:00
Ivailo Monev
5f175986d8
do not detach ID variable in QSessionManager constructor
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-03 19:20:59 +02:00
Ivailo Monev
a902fc21f2
translations update [ci skip]
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-03 16:54:49 +02:00
Ivailo Monev
43ecafb11c
reduce the size of private QImageReader and QImageWriter data pointers by not storing the error string
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-03 16:24:46 +02:00
Ivailo Monev
8038460673
filter duplicate MIME types from plugins with multiple keys in QImageReader::supportedMimeTypes() and QImageWriter::supportedMimeTypes()
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-03 14:35:27 +02:00
Ivailo Monev
418c46fa84
do not compute hash after QCryptographicHash::reset() unless data is added
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-03 04:48:53 +02:00
Ivailo Monev
f114257be6
new QImageReader::formatForMimeType() and QImageWriter::formatForMimeType() methods
...
fixes pasting of images from clipboard for some image formats
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-03 04:18:14 +02:00
Ivailo Monev
d6327b9615
add note in which version QImageReader::supportedMimeTypes(), QImageWriter::defaultImageFormat() and QImageWriter::supportedMimeTypes() appeared
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-03 03:12:26 +02:00
Ivailo Monev
f702899bf1
new required virtual method to get MIME types for image plugins
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-03 02:47:28 +02:00
Ivailo Monev
52e2f86666
incremental hashing optimization
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-02 18:44:30 +02:00
Ivailo Monev
f5a2844467
brief Katie image format documentation
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-02 16:01:16 +02:00
Ivailo Monev
853d13fb3a
oops, copy-pasta
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-01 23:51:23 +02:00
Ivailo Monev
ac19025007
move variable closer to the scope it is used in QPdfBaseEnginePrivate::openPrintDevice()
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-01 23:13:35 +02:00
Ivailo Monev
05316f51d1
QT_NO_CUPS option does not require QT_NO_PRINTER
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-01 23:13:16 +02:00
Ivailo Monev
215eed0c88
enable QPrintDialog print button only if printer is available
...
fixes crash in case no printer is available and print button is clicked
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-01 22:56:54 +02:00
Ivailo Monev
c266f6d1e9
drop support for printing to file
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-01 21:05:04 +02:00
Ivailo Monev
391503c8be
do not return current PPD from QCUPSSupport::setCurrentPrinter()
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-01 13:53:09 +02:00
Ivailo Monev
5f61f29f3c
use QImage::Format_ARGB32_Premultiplied image format for raster pixmaps unless pixel type is bitmap
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-01 13:02:03 +02:00
Ivailo Monev
73619d7898
do not build the Katie image format handler if QT_NO_IMAGEFORMAT_KAT is defined
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-01 02:40:55 +02:00
Ivailo Monev
dbb384c991
typo
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-03-01 01:12:26 +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
3337c33a86
simplify raster pixmap creation from image
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-28 21:43:02 +02:00
Ivailo Monev
d36bee65a4
unroll qt_memfill<T,T>() to 8 operations per-loop when possible
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-28 21:41:30 +02:00