aboutsummaryrefslogtreecommitdiffstats
path: root/tests/benchmarks
diff options
context:
space:
mode:
authorEdward Welbourne <edward.welbourne@qt.io>2021-11-10 19:16:18 +0100
committerEdward Welbourne <edward.welbourne@qt.io>2021-11-23 18:12:38 +0100
commit4f59a2aeb011359f40c846a57f2a24b7617004ee (patch)
tree639bf7049eedc53408de4398bb26036abc54ec9a /tests/benchmarks
parent9fd8c28bb380e920b8561802afc7258198ec7552 (diff)
Add a benchmark of Date.getTimeZoneOffset()
Test at many moments from spring 1967 (before the epoch) to summer 2046 (after 32-bit time_t's sign-wrap). Change-Id: I3932cc1553a868b8815fda9a8dfc7644e4485704 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'tests/benchmarks')
-rw-r--r--tests/benchmarks/qml/javascript/data/zoneOffset.qml16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/benchmarks/qml/javascript/data/zoneOffset.qml b/tests/benchmarks/qml/javascript/data/zoneOffset.qml
new file mode 100644
index 0000000000..c2a1873ca5
--- /dev/null
+++ b/tests/benchmarks/qml/javascript/data/zoneOffset.qml
@@ -0,0 +1,16 @@
+// Benchmarks determination of local time-zone offset.
+// This can be sensitive to changes to QTimeZone or QDateTime (depends on platform).
+
+import QtQuick 2.0
+
+QtObject {
+ function runtest() {
+ var tick = -864e8; // 1000 days before the epoch
+ for (var ii = 0; ii < 5000000; ++ii) {
+ new Date(tick).getTimezoneOffset();
+ tick += 5e5;
+ }
+ // 25e11 milliseconds is about 79 years; so we span from
+ // the start of 1967-04-07 to 2046-6-26 04:18:20.
+ }
+}