OSDN Git Service

kde/Katie.git
2 years agocompiler warning fix
Ivailo Monev [Sat, 4 Jun 2022 19:41:08 +0000 (22:41 +0300)]
compiler warning fix

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoupdate Qt::Key enum documentation
Ivailo Monev [Sat, 4 Jun 2022 11:20:14 +0000 (14:20 +0300)]
update Qt::Key enum documentation

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agodrop multimedia keys enums
Ivailo Monev [Thu, 2 Jun 2022 20:58:52 +0000 (23:58 +0300)]
drop multimedia keys enums

native (X11) key codes and modifiers can be obtained via
QKeyEvent::nativeScanCode() and QKeyEvent::nativeModifiers()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agouse values greater than the last non-pseudo key for the pseudo keys
Ivailo Monev [Thu, 2 Jun 2022 18:16:28 +0000 (21:16 +0300)]
use values greater than the last non-pseudo key for the pseudo keys

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoQt::Key_Direction_L and Qt::Key_Direction_R are not a thing
Ivailo Monev [Thu, 2 Jun 2022 15:34:59 +0000 (18:34 +0300)]
Qt::Key_Direction_L and Qt::Key_Direction_R are not a thing

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agocorrect translation of text that is not actually translated
Ivailo Monev [Tue, 31 May 2022 21:27:46 +0000 (00:27 +0300)]
correct translation of text that is not actually translated

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agomake QRasterPaintEngine::fillPath() and QRasterPaintEngine::fillPolygon() actually...
Ivailo Monev [Tue, 31 May 2022 19:53:24 +0000 (22:53 +0300)]
make QRasterPaintEngine::fillPath() and QRasterPaintEngine::fillPolygon() actually private

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agorendering will not be done based on script
Ivailo Monev [Tue, 31 May 2022 16:33:11 +0000 (19:33 +0300)]
rendering will not be done based on script

as it is done now, fonts are probed for character specific to script (see
qfontdatabase source file) which assumes that if a font can render one
character for a given script it can render all characters for that script -
this is very much not so. fonts usually are incomplete as new scripts come
and go fonts have to be updated constantly to account for that and some
of the work done on fonts is incomplete. instead fonts have to be probed
for the character that is to be rendered

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agofix translation of messages with context
Ivailo Monev [Mon, 30 May 2022 14:30:15 +0000 (17:30 +0300)]
fix translation of messages with context

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoattempt to decode the text with all codecs from QTextCodec::codecForText()
Ivailo Monev [Mon, 30 May 2022 07:16:48 +0000 (10:16 +0300)]
attempt to decode the text with all codecs from QTextCodec::codecForText()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agocorrect cases indentation in pluginmanager source file
Ivailo Monev [Sun, 29 May 2022 10:29:14 +0000 (13:29 +0300)]
correct cases indentation in pluginmanager source file

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agocreate all leading and the final directory from QStandardPaths::writableLocation()
Ivailo Monev [Sun, 29 May 2022 06:19:20 +0000 (09:19 +0300)]
create all leading and the final directory from QStandardPaths::writableLocation()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoupdate bundled libdeflate to v1.11
Ivailo Monev [Fri, 27 May 2022 09:55:53 +0000 (12:55 +0300)]
update bundled libdeflate to v1.11

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoupdate tables data to CLDR v41
Ivailo Monev [Fri, 27 May 2022 06:52:57 +0000 (09:52 +0300)]
update tables data to CLDR v41

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoupdate URL TLDs table data
Ivailo Monev [Fri, 27 May 2022 06:45:35 +0000 (09:45 +0300)]
update URL TLDs table data

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agouse correct QString constructors in QFileSystemEngine::rootPath() and QFileSystemEngi...
Ivailo Monev [Thu, 26 May 2022 10:45:06 +0000 (13:45 +0300)]
use correct QString constructors in QFileSystemEngine::rootPath() and QFileSystemEngine::tempPath()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoMerge branch 'master' of ssh://github.com/fluxer/katie
Ivailo Monev [Wed, 25 May 2022 08:28:49 +0000 (11:28 +0300)]
Merge branch 'master' of ssh://github.com/fluxer/katie

2 years agoconst-ify QStatInfo object in existsAsSpecified() function
Ivailo Monev [Wed, 25 May 2022 08:26:56 +0000 (11:26 +0300)]
const-ify QStatInfo object in existsAsSpecified() function

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoremove unused header inclusions in qstandardpaths source file
Ivailo Monev [Wed, 25 May 2022 08:26:30 +0000 (11:26 +0300)]
remove unused header inclusions in qstandardpaths source file

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoremove now redundant QImageIOHandler::SubType image handler option
Ivailo Monev [Sat, 21 May 2022 21:00:51 +0000 (21:00 +0000)]
remove now redundant QImageIOHandler::SubType image handler option

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoalways return the format handlers set from QImageReader::format()
Ivailo Monev [Sat, 21 May 2022 00:06:06 +0000 (03:06 +0300)]
always return the format handlers set from QImageReader::format()

that way format hint will not overrule format from handlers,
QImageIOHandler::name() can return the plugin and QImageIOHandler::format()
can return format set by handlers via QImageIOHandler::setFormat()
eliminating QImageIOHandler::SubType option

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoMerge branch 'master' of ssh://github.com/fluxer/katie
Ivailo Monev [Fri, 20 May 2022 00:24:14 +0000 (03:24 +0300)]
Merge branch 'master' of ssh://github.com/fluxer/katie

2 years agoQImageReader::size() documentation correction
Ivailo Monev [Fri, 20 May 2022 00:23:27 +0000 (03:23 +0300)]
QImageReader::size() documentation correction

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoremove concurrent classes leftovers
Ivailo Monev [Thu, 19 May 2022 19:09:04 +0000 (21:09 +0200)]
remove concurrent classes leftovers

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoremove now unused QEvent::Type::FutureCallOut enum
Ivailo Monev [Thu, 19 May 2022 18:32:35 +0000 (21:32 +0300)]
remove now unused QEvent::Type::FutureCallOut enum

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agosolving merge conflicts git cannot handle
Ivailo Monev [Thu, 19 May 2022 16:05:12 +0000 (19:05 +0300)]
solving merge conflicts git cannot handle

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agodrop concurrent classes
Ivailo Monev [Thu, 19 May 2022 15:56:49 +0000 (18:56 +0300)]
drop concurrent classes

say hello to my delete button classes with void future

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agooops, footprint file correction
Ivailo Monev [Wed, 18 May 2022 17:31:18 +0000 (19:31 +0200)]
oops, footprint file correction

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoremove unused QtConcurrent filter methods
Ivailo Monev [Tue, 17 May 2022 23:26:22 +0000 (02:26 +0300)]
remove unused QtConcurrent filter methods

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agodrop support for custom QSettings formats
Ivailo Monev [Wed, 18 May 2022 00:42:12 +0000 (00:42 +0000)]
drop support for custom QSettings formats

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agothe default QHostInfo error shall be "Host not found"
Ivailo Monev [Tue, 17 May 2022 14:28:36 +0000 (17:28 +0300)]
the default QHostInfo error shall be "Host not found"

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agobuild fix for the case when QT_NO_SYNTAXHIGHLIGHTER is defined
Ivailo Monev [Tue, 17 May 2022 14:24:19 +0000 (17:24 +0300)]
build fix for the case when QT_NO_SYNTAXHIGHLIGHTER is defined

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoby default hosts shall be not found
Ivailo Monev [Tue, 17 May 2022 04:37:21 +0000 (07:37 +0300)]
by default hosts shall be not found

otherwise, if a default constructed QHostInfo object is emited from thread
used to lookup it will be considered as sucessfull lookup (i.e. the error
is QHostInfo::NoError), even if the host is found it may be unreachable
right after the lookup is done (e.g. lookup before fetch, lookup succeeded,
server crashes before fetching data from it - server is unreachable). in
other words - it's a stat() before open() like problem

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoQHostInfo documentation update
Ivailo Monev [Tue, 17 May 2022 03:30:43 +0000 (06:30 +0300)]
QHostInfo documentation update

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoMerge branch 'master' of ssh://github.com/fluxer/katie
Ivailo Monev [Tue, 17 May 2022 02:48:32 +0000 (05:48 +0300)]
Merge branch 'master' of ssh://github.com/fluxer/katie

2 years agoremove non-operational async QHostInfo methods and setters that should've never been...
Ivailo Monev [Tue, 17 May 2022 02:47:09 +0000 (05:47 +0300)]
remove non-operational async QHostInfo methods and setters that should've never been public

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoBSD workaround round 2
Ivailo Monev [Mon, 16 May 2022 21:27:21 +0000 (23:27 +0200)]
BSD workaround round 2

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoinclude array system header in JSC Vector header
Ivailo Monev [Mon, 16 May 2022 21:07:56 +0000 (00:07 +0300)]
include array system header in JSC Vector header

fixes build on FreeBSD when not build from the package files

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agobye QReadLocker, QReadWriteLock and QWriteLocker
Ivailo Monev [Mon, 16 May 2022 09:57:03 +0000 (12:57 +0300)]
bye QReadLocker, QReadWriteLock and QWriteLocker

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoreplace the read-write master lock of the D-Bus component with mutex
Ivailo Monev [Mon, 16 May 2022 08:40:40 +0000 (11:40 +0300)]
replace the read-write master lock of the D-Bus component with mutex

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agodo not lock when reading global meta types
Ivailo Monev [Mon, 16 May 2022 08:22:09 +0000 (11:22 +0300)]
do not lock when reading global meta types

huge performance gain for anything QMetaType-related

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoconst-ify variables and use constant iterators in QDeclarativeMetaType
Ivailo Monev [Mon, 16 May 2022 07:44:40 +0000 (10:44 +0300)]
const-ify variables and use constant iterators in QDeclarativeMetaType

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoremove unused qreadwritelock header inclusion in qobject_p header
Ivailo Monev [Mon, 16 May 2022 07:24:24 +0000 (10:24 +0300)]
remove unused qreadwritelock header inclusion in qobject_p header

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agobuild with GCC on OpenBSD
Ivailo Monev [Mon, 16 May 2022 06:15:22 +0000 (09:15 +0300)]
build with GCC on OpenBSD

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoKatie no longer support FTP and HTTP(S)
Ivailo Monev [Mon, 16 May 2022 01:53:59 +0000 (04:53 +0300)]
Katie no longer support FTP and HTTP(S)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoremove unused QDataStream streaming operators for JSC::Vector<T>
Ivailo Monev [Mon, 16 May 2022 00:03:01 +0000 (03:03 +0300)]
remove unused QDataStream streaming operators for JSC::Vector<T>

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agouse std::array<char, size> for inline JSC::Vector<T> buffers in JSC
Ivailo Monev [Sun, 15 May 2022 23:59:02 +0000 (02:59 +0300)]
use std::array<char, size> for inline JSC::Vector<T> buffers in JSC

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoworkaround for Plasma desktop crashes on FreeBSD 13.1 (to be released)
Ivailo Monev [Sun, 15 May 2022 19:44:05 +0000 (22:44 +0300)]
workaround for Plasma desktop crashes on FreeBSD 13.1 (to be released)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoinitialize JSC::JSFunction::m_data member
Ivailo Monev [Sun, 15 May 2022 04:05:54 +0000 (07:05 +0300)]
initialize JSC::JSFunction::m_data member

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoinitialize JSC::JSGlobalObject::JSGlobalObjectData::recursion member
Ivailo Monev [Sun, 15 May 2022 04:05:27 +0000 (07:05 +0300)]
initialize JSC::JSGlobalObject::JSGlobalObjectData::recursion member

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoinitialize JSC::JSGlobalObject::JSGlobalObjectData members
Ivailo Monev [Sun, 15 May 2022 03:57:16 +0000 (06:57 +0300)]
initialize JSC::JSGlobalObject::JSGlobalObjectData members

it's fix uninitialized variables o'clock here

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoinitialize JSC::JSString::m_stringLength member
Ivailo Monev [Sun, 15 May 2022 03:52:25 +0000 (06:52 +0300)]
initialize JSC::JSString::m_stringLength member

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoremove code for always false conditions
Ivailo Monev [Sat, 14 May 2022 00:08:52 +0000 (03:08 +0300)]
remove code for always false conditions

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoremove win leftovers
Ivailo Monev [Sat, 7 May 2022 18:22:54 +0000 (21:22 +0300)]
remove win leftovers

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agouse correct type for socket descriptor in QLocalServer and QLocalSocket
Ivailo Monev [Sat, 7 May 2022 17:24:52 +0000 (20:24 +0300)]
use correct type for socket descriptor in QLocalServer and QLocalSocket

there is no way for QLocalSocket::socketDescriptor() to return anything
less than zero if the type is unsinged and it is supposed to return -1 if
the socket descriptor is not valid

upstream commit:
https://github.com/qt/qtbase/commit/b03fa845a72ce0f4e0785c6ebeb430ded970426b

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agostabilize QDrag test
Ivailo Monev [Mon, 2 May 2022 23:01:03 +0000 (02:01 +0300)]
stabilize QDrag test

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoinitialize QElapsedTimer as invalid [ci reset]
Ivailo Monev [Mon, 2 May 2022 22:54:14 +0000 (01:54 +0300)]
initialize QElapsedTimer as invalid [ci reset]

upstream commit:
https://github.com/qt/qtbase/commit/3006bd2d44298babd1339c3fc3a67ad0696bcefc

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoremove zlib from WANTLIB in OpenBSD package file
Ivailo Monev [Mon, 2 May 2022 18:28:46 +0000 (21:28 +0300)]
remove zlib from WANTLIB in OpenBSD package file

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agolibdeflate port is now available on OpenBSD
Ivailo Monev [Mon, 2 May 2022 18:26:09 +0000 (21:26 +0300)]
libdeflate port is now available on OpenBSD

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoremove default QTableWidget reimplementation and binary compatibility bits [ci reset]
Ivailo Monev [Sun, 1 May 2022 20:53:27 +0000 (23:53 +0300)]
remove default QTableWidget reimplementation and binary compatibility bits [ci reset]

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoMerge branch 'master' of ssh://github.com/fluxer/katie
Ivailo Monev [Tue, 26 Apr 2022 15:41:18 +0000 (18:41 +0300)]
Merge branch 'master' of ssh://github.com/fluxer/katie

2 years agofree decompressor as soon as decompression is done in QKatHandler::read()
Ivailo Monev [Tue, 26 Apr 2022 15:40:59 +0000 (18:40 +0300)]
free decompressor as soon as decompression is done in QKatHandler::read()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agodo not duplicate the file-descriptor from QDBusUnixFileDescriptor constructor
Ivailo Monev [Thu, 21 Apr 2022 11:13:04 +0000 (14:13 +0300)]
do not duplicate the file-descriptor from QDBusUnixFileDescriptor constructor

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agodo not duplicate the file-descriptor from QDBusUnixFileDescriptor constructor
Ivailo Monev [Thu, 21 Apr 2022 11:13:04 +0000 (14:13 +0300)]
do not duplicate the file-descriptor from QDBusUnixFileDescriptor constructor

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agobuild fix
Ivailo Monev [Mon, 18 Apr 2022 19:32:45 +0000 (22:32 +0300)]
build fix

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agodrop support for using design metrics of fonts
Ivailo Monev [Mon, 18 Apr 2022 19:29:36 +0000 (22:29 +0300)]
drop support for using design metrics of fonts

fixes:
https://github.com/fluxer/katana/issues/29

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agohint monospaced fonts horizontally and vertically
Ivailo Monev [Mon, 18 Apr 2022 08:23:13 +0000 (11:23 +0300)]
hint monospaced fonts horizontally and vertically

this is more of a workaround, there is a bug lurking somewhere in Konsole
probably since there are plenty of hacks related to fonts there

for reference:
https://github.com/fluxer/katana/issues/29

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoeffectively revert 42f9fe4bdf6322843a80fb3b48675b7ac4b006db and partially eac47643065...
Ivailo Monev [Sat, 16 Apr 2022 23:37:50 +0000 (02:37 +0300)]
effectively revert 42f9fe4bdf6322843a80fb3b48675b7ac4b006db and partially eac47643065ea87e0067de398d66abc96d0f4553

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agofix QWidget::fontChange() compatibility and remove unused QWidget compatibility metho...
Ivailo Monev [Sat, 16 Apr 2022 18:53:10 +0000 (21:53 +0300)]
fix QWidget::fontChange() compatibility and remove unused QWidget compatibility methods [ci reset]

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agobuild fix for the case when QT_NO_CONCURRENT is defined [ci reset]
Ivailo Monev [Mon, 11 Apr 2022 18:52:50 +0000 (21:52 +0300)]
build fix for the case when QT_NO_CONCURRENT is defined [ci reset]

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agofix runtime warning when rotating non-mono images
Ivailo Monev [Mon, 11 Apr 2022 17:59:16 +0000 (20:59 +0300)]
fix runtime warning when rotating non-mono images

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agodrop support for video and animation elements in svg component
Ivailo Monev [Sat, 2 Apr 2022 21:26:03 +0000 (00:26 +0300)]
drop support for video and animation elements in svg component

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agosimplify color parsing in resolveColor() function
Ivailo Monev [Sat, 2 Apr 2022 20:49:30 +0000 (23:49 +0300)]
simplify color parsing in resolveColor() function

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agomark warning case in QCompleter::setMaxVisibleItems() as unlikely
Ivailo Monev [Mon, 28 Mar 2022 22:37:27 +0000 (01:37 +0300)]
mark warning case in QCompleter::setMaxVisibleItems() as unlikely

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoadd option to build with external xxHash
Ivailo Monev [Mon, 28 Mar 2022 10:52:21 +0000 (13:52 +0300)]
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>
2 years agoadd test case for the previous commit
Ivailo Monev [Sun, 27 Mar 2022 13:17:19 +0000 (16:17 +0300)]
add test case for the previous commit

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoprioritize file entry stat over fd stat
Ivailo Monev [Sun, 27 Mar 2022 12:52:03 +0000 (15:52 +0300)]
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>
2 years agofix QFile::isSequential() for links
Ivailo Monev [Sun, 27 Mar 2022 10:47:51 +0000 (13:47 +0300)]
fix QFile::isSequential() for links

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoremove win leftovers
Ivailo Monev [Wed, 23 Mar 2022 10:59:44 +0000 (12:59 +0200)]
remove win leftovers

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoremove QUuid class leftovers
Ivailo Monev [Wed, 23 Mar 2022 10:58:45 +0000 (12:58 +0200)]
remove QUuid class leftovers

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoupdate URL TLDs table data
Ivailo Monev [Wed, 23 Mar 2022 05:37:48 +0000 (07:37 +0200)]
update URL TLDs table data

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agotranslations update
Ivailo Monev [Wed, 23 Mar 2022 05:36:05 +0000 (07:36 +0200)]
translations update

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agofix hash collision when input data has odd length for Katie's hash algorithm
Ivailo Monev [Tue, 22 Mar 2022 16:48:43 +0000 (18:48 +0200)]
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>
2 years agotest QCryptographicHash collisions with short data
Ivailo Monev [Tue, 22 Mar 2022 16:30:06 +0000 (18:30 +0200)]
test QCryptographicHash collisions with short data

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agodrop QUuid class [ci reset]
Ivailo Monev [Tue, 22 Mar 2022 13:30:06 +0000 (15:30 +0200)]
drop QUuid class [ci reset]

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agonew qRandomUuid() function
Ivailo Monev [Tue, 22 Mar 2022 09:39:22 +0000 (11:39 +0200)]
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>
2 years agooptimize QByteArray streaming
Ivailo Monev [Mon, 21 Mar 2022 10:47:53 +0000 (12:47 +0200)]
optimize QByteArray streaming

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoupdate link in QUuid documentation
Ivailo Monev [Mon, 21 Mar 2022 10:08:50 +0000 (12:08 +0200)]
update link in QUuid documentation

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoreset Katie's hashing algorithm state before updating it with data in QCryptographicH...
Ivailo Monev [Mon, 21 Mar 2022 10:01:36 +0000 (12:01 +0200)]
reset Katie's hashing algorithm state before updating it with data in QCryptographicHash::hash()

fixes crash, 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)":
     1,962.61910 CPU ticks per iteration (total: 392,523,820, iterations: 200000)
RESULT   : tst_qcryptographichash::append():"10 (Sha1)":
     2,168.30099 CPU ticks per iteration (total: 433,660,199, iterations: 200000)
RESULT   : tst_qcryptographichash::append():"10 (Sha256)":
     4,188.51114 CPU ticks per iteration (total: 837,702,228, iterations: 200000)
RESULT   : tst_qcryptographichash::append():"10 (Sha512)":
     3,362.39169 CPU ticks per iteration (total: 672,478,339, iterations: 200000)
RESULT   : tst_qcryptographichash::append():"10 (KAT)":
     1,001.09731 CPU ticks per iteration (total: 200,219,462, iterations: 200000)
RESULT   : tst_qcryptographichash::append():"100 (Md5)":
     570.155600 CPU ticks per iteration (total: 114,031,120, iterations: 200000)
RESULT   : tst_qcryptographichash::append():"100 (Sha1)":
     685.569960 CPU ticks per iteration (total: 137,113,992, iterations: 200000)
RESULT   : tst_qcryptographichash::append():"100 (Sha256)":
     868.278515 CPU ticks per iteration (total: 173,655,703, iterations: 200000)
RESULT   : tst_qcryptographichash::append():"100 (Sha512)":
     1,017.23586 CPU ticks per iteration (total: 203,447,172, iterations: 200000)
RESULT   : tst_qcryptographichash::append():"100 (KAT)":
     612.449645 CPU ticks per iteration (total: 122,489,929, iterations: 200000)
RESULT   : tst_qcryptographichash::append():"250 (Md5)":
     547.928530 CPU ticks per iteration (total: 109,585,706, iterations: 200000)
RESULT   : tst_qcryptographichash::append():"250 (Sha1)":
     712.295705 CPU ticks per iteration (total: 142,459,141, iterations: 200000)
RESULT   : tst_qcryptographichash::append():"250 (Sha256)":
     835.510590 CPU ticks per iteration (total: 167,102,118, iterations: 200000)
RESULT   : tst_qcryptographichash::append():"250 (Sha512)":
     981.335505 CPU ticks per iteration (total: 196,267,101, iterations: 200000)
RESULT   : tst_qcryptographichash::append():"250 (KAT)":
     563.873905 CPU ticks per iteration (total: 112,774,781, iterations: 200000)
RESULT   : tst_qcryptographichash::append():"500 (Md5)":
     537.705295 CPU ticks per iteration (total: 107,541,059, iterations: 200000)
RESULT   : tst_qcryptographichash::append():"500 (Sha1)":
     707.017965 CPU ticks per iteration (total: 141,403,593, iterations: 200000)
RESULT   : tst_qcryptographichash::append():"500 (Sha256)":
     825.497090 CPU ticks per iteration (total: 165,099,418, iterations: 200000)
RESULT   : tst_qcryptographichash::append():"500 (Sha512)":
     977.373200 CPU ticks per iteration (total: 195,474,640, iterations: 200000)
RESULT   : tst_qcryptographichash::append():"500 (KAT)":
     544.470865 CPU ticks per iteration (total: 108,894,173, iterations: 200000)
PASS  : tst_qcryptographichash::append()
RESULT   : tst_qcryptographichash::append_once():"Md5":
     1,446.76005 CPU ticks per iteration (total: 289,352,011, iterations: 200000)
RESULT   : tst_qcryptographichash::append_once():"Sha1":
     1,688.58841 CPU ticks per iteration (total: 337,717,683, iterations: 200000)
RESULT   : tst_qcryptographichash::append_once():"Sha256":
     3,855.98617 CPU ticks per iteration (total: 771,197,235, iterations: 200000)
RESULT   : tst_qcryptographichash::append_once():"Sha512":
     2,929.18580 CPU ticks per iteration (total: 585,837,160, iterations: 200000)
RESULT   : tst_qcryptographichash::append_once():"KAT":
     648.980665 CPU ticks per iteration (total: 129,796,133, iterations: 200000)
PASS  : tst_qcryptographichash::append_once()
RESULT   : tst_qcryptographichash::statichash():"Md5":
     1,382.87591 CPU ticks per iteration (total: 276,575,182, iterations: 200000)
RESULT   : tst_qcryptographichash::statichash():"Sha1":
     1,614.76916 CPU ticks per iteration (total: 322,953,833, iterations: 200000)
RESULT   : tst_qcryptographichash::statichash():"Sha256":
     3,773.65425 CPU ticks per iteration (total: 754,730,850, iterations: 200000)
RESULT   : tst_qcryptographichash::statichash():"Sha512":
     2,861.40618 CPU ticks per iteration (total: 572,281,237, iterations: 200000)
RESULT   : tst_qcryptographichash::statichash():"KAT":
     597.525450 CPU ticks per iteration (total: 119,505,090, 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>
2 years agodisable copying of QKatHash class
Ivailo Monev [Mon, 21 Mar 2022 06:36:13 +0000 (08:36 +0200)]
disable copying of QKatHash class

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoQPluginLoader documentation update
Ivailo Monev [Mon, 21 Mar 2022 06:35:58 +0000 (08:35 +0200)]
QPluginLoader documentation update

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoQLibrary documentaiton update
Ivailo Monev [Sun, 20 Mar 2022 11:46:12 +0000 (13:46 +0200)]
QLibrary documentaiton update

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agode-duplicate QLibrary code
Ivailo Monev [Sun, 20 Mar 2022 11:24:23 +0000 (13:24 +0200)]
de-duplicate QLibrary code

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agooptimize QIcon::fromTheme()
Ivailo Monev [Sun, 20 Mar 2022 11:00:21 +0000 (13:00 +0200)]
optimize QIcon::fromTheme()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agodo not create private QLibrary data pointer just to return 0 in QPluginLoader::loadHi...
Ivailo Monev [Sun, 20 Mar 2022 10:04:58 +0000 (12:04 +0200)]
do not create private QLibrary data pointer just to return 0 in QPluginLoader::loadHints()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agorefer to QT_BUFFSIZE in QCryptographicHash documentation
Ivailo Monev [Mon, 14 Mar 2022 02:25:42 +0000 (04:25 +0200)]
refer to QT_BUFFSIZE in QCryptographicHash documentation

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agotypo
Ivailo Monev [Mon, 14 Mar 2022 01:40:45 +0000 (03:40 +0200)]
typo

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoimplement Katie's hash algorithm as class and split input data in two chunks
Ivailo Monev [Mon, 14 Mar 2022 01:25:01 +0000 (03:25 +0200)]
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>
2 years agoadd warning about the custom hash algorithm
Ivailo Monev [Sun, 13 Mar 2022 22:04:32 +0000 (00:04 +0200)]
add warning about the custom hash algorithm

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2 years agoQCryptographicHash test to verify incremental and static hashing produce the same...
Ivailo Monev [Sun, 13 Mar 2022 21:58:48 +0000 (23:58 +0200)]
QCryptographicHash test to verify incremental and static hashing produce the same result

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>