Commit graph

343 commits

Author SHA1 Message Date
Ivailo Monev
fb720f570e add option to build with external xxHash
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>
2022-03-28 13:52:24 +03: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
22002ffa36 drop support for architectures that have no official Debian port
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-24 16:42:55 +02:00
Ivailo Monev
e611701095 deal with TODO related to sh4a architecture detection, do not rely on uname output as it can be wrong in chroot
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-24 02:52:32 +02:00
Ivailo Monev
cec95847e6 reimplement qCompress() and qUncompress() via libdeflate
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-05 05:16:01 +02:00
Ivailo Monev
f950313696 revert accidently commited change
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-31 01:55:54 +02:00
Ivailo Monev
24a9adf12d get rid of QScopedArrayPointer<T> [ci reset]
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-01-30 13:49:52 +02:00
Ivailo Monev
62407b88d4 remove SQL component [ci reset]
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-10-03 10:03:07 +03:00
Ivailo Monev
4209a57e8a drop support for PostgreSQL and MySQL databases
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-09-10 05:04:37 +03:00
Ivailo Monev
095acdcef0 quote arguments passed to scripts
partially fixes build with space(s) in directories

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-09-06 20:57:16 +03:00
Ivailo Monev
8619b09ff1 store package related config option values in qconfig.h
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-08-29 03:48:29 +03:00
Ivailo Monev
6625f28dbb export component symbols only when building them [ci reset]
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-08-24 23:34:55 +03:00
Ivailo Monev
b8ed1c21e2 include system sys/types header for all struct checks
fixes sockaddr_dl::sdl_index member check on FreeBSD

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-07-03 10:52:49 +03:00
Ivailo Monev
014b7c0725 call OptimizeHeaders script explicitly from component installation targets
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>
2021-06-25 14:59:50 +03:00
Ivailo Monev
138004ae6e correct reference to unifdef executable in katie_optimize-headers()
fixes headers optimization

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-06-22 18:25:47 +03:00
Ivailo Monev
fee87277bc undefine options that are not supported when optimizing headers
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-06-21 08:07:47 +03:00
Ivailo Monev
c691ec1daf revert accidently commited changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-06-18 14:19:12 +03:00
Ivailo Monev
cb64a5578f const-ify SVG node class members where applicable
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-06-17 23:57:20 +03:00
Ivailo Monev
7bcdcb69fa use _FILE_OFFSET_BITS definition for LFS support
noted as recommended method for LFS support on 32-bit systems at:
https://man7.org/linux/man-pages/man2/open.2.html

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-06-10 10:08:39 +03:00
Ivailo Monev
6297158d21 make tests depend on plugins
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-05-31 01:28:53 +03:00
Ivailo Monev
36c93a7640 remove PCH build option
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-02-13 20:21:31 +02:00
Ivailo Monev
d93dae74af obtain only the version via mariadb_config/mysql_config
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-02-13 12:21:42 +02:00
Ivailo Monev
31f76bdcd1 reimplement QJsonDocument via Jansson
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-02-11 01:37:58 +02:00
Ivailo Monev
680b151f78 do everything in single for loop in katie_setup_object()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-02-09 11:21:35 +02:00
Ivailo Monev
247be7d868 merge mkspecs into top-level and macros build files
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-02-08 14:45:41 +02:00
Ivailo Monev
bdfa9a8c84 update copyright to ease maintaince [ci skip]
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-02-05 06:18:50 +02:00
Ivailo Monev
8d667eb5c8 add /usr/X11R6/include to headers and /usr/X11R6/lib to link directories on BSD
fixes test build on OpenBSD

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-01-31 01:37:07 +02:00
Ivailo Monev
d36f69642c remove now unused multi-header support of katie_check_defined()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-01-24 15:56:32 +02:00
Ivailo Monev
7ac9b8cb69 check for xdg-open during build
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-01-23 23:44:39 +02:00
Ivailo Monev
50a3195ed9 review build macro comments
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-01-21 01:07:27 +02:00
Ivailo Monev
f0dd1a59a6 make use of katie_generate_obsolete() in katie_generate_public()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-01-20 23:10:03 +02:00
Ivailo Monev
624f355fcd fix xvfb script exit in case of test failure
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-01-18 02:02:37 +02:00
Ivailo Monev
4b9867c932 include rscpath only if resource will be generated from katie_setup_target()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-01-06 01:11:06 +02:00
Ivailo Monev
94df20cb62 katie_setup_target() macro rewrite
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-01-05 07:06:58 +02:00
Ivailo Monev
58ef830341 copyright update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-01-02 01:59:24 +02:00
Ivailo Monev
50331376b3 make cxxabi header optional
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2020-12-31 21:35:16 +02:00
Ivailo Monev
494386d8f5 implement QHostInfo::localHostName() via getdomainname() instead of resolv
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2020-12-24 22:51:26 +00:00
Ivailo Monev
0e92244631 rename katie_allinone_exclude() macro to katie_unity_exclude()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2020-12-24 00:41:55 +00:00
Ivailo Monev
2f1cdbb769 define Q_NO_DATA_RELOCATION based on dummy target property
CMAKE_POSITION_INDEPENDENT_CODE may not be set but targets may have the
POSITION_INDEPENDENT_CODE property set to TRUE anyway

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2020-12-20 15:59:54 +00:00
Ivailo Monev
716ee27810 drop KATIE_ALLINONE build option in favour of CMAKE_UNITY_BUILD
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2020-12-20 15:13:50 +00:00
Ivailo Monev
c6d001882d implement PCH build option for components
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2020-12-20 14:38:47 +00:00
Ivailo Monev
0128caf713 compute moc arguments variable outside loop in katie_setup_target()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2020-12-20 05:53:24 +00:00
Ivailo Monev
a6c67c7ad2 bump minimum CMake version requirement to v3.3
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2020-12-16 23:40:25 +00:00
Ivailo Monev
972e0dcc3d increase sleep time in xvfb.sh script
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2020-12-15 10:58:00 +00:00
Ivailo Monev
0c18f33892 merge KatieLibraryTargets and KatieBinaryTargets exports
the idea was to install them separately, one along with the libraries
and one along with the tools but they suite the Devel component better
and are installed as part of it so no reason to keep them separate

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2020-12-10 02:14:17 +00:00
Ivailo Monev
8bd3626ede use dbus-run-session instead of dbus-launch in dbus.sh script
as recommended in dbus-launch manual page at:
https://dbus.freedesktop.org/doc/dbus-launch.1.html

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2020-12-09 05:14:29 +00:00
Ivailo Monev
aa849d0b30 remove now redundant workaround in katie_check_defined()
compiled source is not executed to check its return value since
check_cxx_source_compiles() is used now

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2020-12-03 18:31:39 +00:00
Ivailo Monev
0df4ee65de reset variables if version could not be obtained in MySQL module
minimum version is required now

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2020-12-03 18:16:11 +00:00
Ivailo Monev
ea4b656b4f remove currently unused HarfBuzz checks during build
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2020-12-03 16:47:31 +00:00
Ivailo Monev
68c87b624a review CMake modules inclusions
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2020-12-03 16:33:21 +00:00