Qt 6.8.3 with BlackBerry 10 (QNX 8 / ARMv7) patches
 
 
 
 
 
 
Go to file
Milian Wolff de5b83ac86 Optimize QTimeZone::utc()
Instead of using the QTimeZone ctor taking a string representing
UTC which then first needs to be parsed, use the offset-from-UTC
ctor with an offset of 0.

This approach is much faster, compare the following results for
the tst_QTimeZone::utc benchmark as built on my machine with:

    Config: Using QtTest library 6.10.0, Qt 6.10.0 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 14.2.1 20250207), arch unknown

Before:

    358.686871 nsecs per iteration (total: 358,686,513, iterations: 999999)
    896.524312 CPU cycles per iteration, 2,5 GHz (total: 896,523,416, iterations: 999999)
    2,227.000427 instructions per iteration, 2,484 instr/cycle (total: 2,226,998,200, iterations: 999999)
    560.000375 branch instructions per iteration, 1,56 G/sec (total: 559,999,815, iterations: 999999)

After:

    102.004937 nsecs per iteration (total: 102,004,835, iterations: 999999)
    452.836869 CPU cycles per iteration, 4,44 GHz (total: 452,836,417, iterations: 999999)
    1,182.801068 instructions per iteration, 2,612 instr/cycle (total: 1,182,799,886, iterations: 999999)
    267.143901 branch instructions per iteration, 2,62 G/sec (total: 267,143,634, iterations: 999999)

Relative Delta:

            before   after    improvement
    nsecs   358.7    102.0    3.52x
    cycles  896.5    452.8    1.98x
    instr.  2227.0   1182.8   1.88x
    branch  560.0    267.1    2.10x

This is quite a significant change for such a trivial patch.

Change-Id: I5872fe8f1158ff9f6bf306ca8b069559cb59beec
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
(cherry picked from commit 765193693982abdbc53910ff0d7d1149332ca83e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 22e66638a6c984d366057d1bb0c6de6dc65df373)
2025-03-04 08:51:35 +00:00
.github/workflows Repair github action workflow 2021-11-10 18:57:33 +01:00
LICENSES Update license rule to Unicode-3.0 2025-02-17 14:39:31 +01:00
bin CMake: Don't hard-code "libexec" in qt-configure-module 2024-08-20 13:50:32 +02:00
cmake CMake: Add function to set up SBOM generation defaults 2025-03-01 23:45:31 +00:00
coin Add calling license check on generated source SBOM 2025-02-03 18:07:34 +01:00
config.tests QThread/Unix: refactor to split QThreadPrivate::finish() in two phases 2024-11-07 15:00:11 -07:00
dist Add REUSE.toml files 2024-11-07 08:38:49 +01:00
doc Android: update Android SDK to version 35.0.1 2025-02-27 01:04:16 +00:00
examples Correct childNumber() reference in editable tree model example 2025-02-19 04:10:30 +00:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
libexec Android: add option to run app detached to runner script 2024-12-04 14:44:52 +00:00
mkspecs iOS: Set LD_ENTRY_POINT for generated Xcode project 2025-02-21 00:03:39 +00:00
qmake qmake: Find Apple ID via IDEProvisioningTeamByIdentifier for Xcode 16.2 2025-02-10 17:52:26 +00:00
src Optimize QTimeZone::utc() 2025-03-04 08:51:35 +00:00
tests Add explicit test coverage for QTimezone::utc 2025-03-04 08:51:32 +00:00
util Update UCD to Unicode 16.0.0 2025-02-17 14:39:31 +01:00
.cmake.conf Bump version to 6.8.3 2025-01-23 11:04:42 +00:00
.gitattributes Give batch files CRLF line endings 2020-11-04 15:02:29 +00:00
.gitignore Git ignore Visual Studio CMake build directories 2023-11-24 23:42:05 +01:00
.lgtm.yml Skip LGTM analysis for the bootstrap library and tools 2020-07-16 01:04:34 +02:00
.tag
CMakeLists.txt cmake: add _extra_files IDE target from heuristics 2024-04-12 08:36:01 +08:00
REUSE.toml macOS: Enable crash reporting for tests via Swift 2025-01-13 08:36:30 +00:00
config_help.txt CMake: Change SBOM generation to be enabled by default (mostly) 2024-10-21 08:37:20 +00:00
configure Change configure license 2024-02-02 15:23:02 +00:00
configure.bat configure.bat: Use call when calling the helper cmake scripts 2025-01-31 14:16:17 +00:00
configure.cmake CMake: Report success for 'separate_debug_info' where applicable 2024-11-02 16:25:06 +00:00
dependencies.yaml Re-add dependencies.yaml now that qt5.git wip/qt6 builds fine 2019-09-18 13:19:31 +02:00
licenseRule.json Update license rule to Unicode-3.0 2025-02-17 14:39:31 +01:00
qt_cmdline.cmake configure: Fix the -sbomdir argument 2025-02-21 21:24:30 +00:00