diff options
author | Maximilian Goldstein <max.goldstein@qt.io> | 2021-02-15 17:11:47 +0100 |
---|---|---|
committer | Maximilian Goldstein <max.goldstein@qt.io> | 2021-02-24 09:29:30 +0100 |
commit | c603d30887d6b56ec7e67f9adfcfe01ca3d9b523 (patch) | |
tree | 2ec43123276d5982cb453601c8c1a76aba0af49d /tests/benchmarks | |
parent | c71c48f5125c116f01f615f51f10e4f2877b2b1d (diff) |
Add additional binding benchmarks
Change-Id: I82b2a099553e28ac004f0425d1544fbcb10c28c6
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'tests/benchmarks')
8 files changed, 1360 insertions, 0 deletions
diff --git a/tests/benchmarks/qml/binding/data/repeat.sh b/tests/benchmarks/qml/binding/data/repeat.sh new file mode 100755 index 0000000000..287a948950 --- /dev/null +++ b/tests/benchmarks/qml/binding/data/repeat.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +REPEAT_TIMES=100 + +to_repeat=$(cat $1) + +echo -e "import QtQuick 2.15\nimport Test 1.0\n\nMyQmlObject {\nid: qmlObject\nresult: ###\n\n" > $2 + +for x in $(seq 1 $REPEAT_TIMES); do + echo "$to_repeat" >> $2; +done + +echo -e "}\n" >> $2 diff --git a/tests/benchmarks/qml/binding/data/repeated.branch.in.txt b/tests/benchmarks/qml/binding/data/repeated.branch.in.txt new file mode 100644 index 0000000000..a2db5c7fd6 --- /dev/null +++ b/tests/benchmarks/qml/binding/data/repeated.branch.in.txt @@ -0,0 +1,4 @@ +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} diff --git a/tests/benchmarks/qml/binding/data/repeated.branch.out.txt b/tests/benchmarks/qml/binding/data/repeated.branch.out.txt new file mode 100644 index 0000000000..b502af3d27 --- /dev/null +++ b/tests/benchmarks/qml/binding/data/repeated.branch.out.txt @@ -0,0 +1,410 @@ +import QtQuick 2.15 +import Test 1.0 + +MyQmlObject { +id: qmlObject +result: ### + + +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +Item { + function fib(n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); } + width: qmlObject.value < 100 ? qmlObject.value : qmlObject.value * fib(10) +} +} + diff --git a/tests/benchmarks/qml/binding/data/repeated.multiple.in.txt b/tests/benchmarks/qml/binding/data/repeated.multiple.in.txt new file mode 100644 index 0000000000..89f99e98a8 --- /dev/null +++ b/tests/benchmarks/qml/binding/data/repeated.multiple.in.txt @@ -0,0 +1,6 @@ +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} diff --git a/tests/benchmarks/qml/binding/data/repeated.multiple.out.txt b/tests/benchmarks/qml/binding/data/repeated.multiple.out.txt new file mode 100644 index 0000000000..0bb0409a5d --- /dev/null +++ b/tests/benchmarks/qml/binding/data/repeated.multiple.out.txt @@ -0,0 +1,610 @@ +import QtQuick 2.15 +import Test 1.0 + +MyQmlObject { +id: qmlObject +result: ### + + +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +Item { + width: qmlObject.value + height: width + 10 + x: width / height + y: x + width + height +} +} + diff --git a/tests/benchmarks/qml/binding/data/repeated.plain.in.txt b/tests/benchmarks/qml/binding/data/repeated.plain.in.txt new file mode 100644 index 0000000000..3f3cfefe02 --- /dev/null +++ b/tests/benchmarks/qml/binding/data/repeated.plain.in.txt @@ -0,0 +1,3 @@ +Item { + width: qmlObject.value +} diff --git a/tests/benchmarks/qml/binding/data/repeated.plain.out.txt b/tests/benchmarks/qml/binding/data/repeated.plain.out.txt new file mode 100644 index 0000000000..a1b8d227f2 --- /dev/null +++ b/tests/benchmarks/qml/binding/data/repeated.plain.out.txt @@ -0,0 +1,310 @@ +import QtQuick 2.15 +import Test 1.0 + +MyQmlObject { +id: qmlObject +result: ### + + +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +Item { + width: qmlObject.value +} +} + diff --git a/tests/benchmarks/qml/binding/tst_binding.cpp b/tests/benchmarks/qml/binding/tst_binding.cpp index c5cea86fce..dddbf26ed7 100644 --- a/tests/benchmarks/qml/binding/tst_binding.cpp +++ b/tests/benchmarks/qml/binding/tst_binding.cpp @@ -122,6 +122,10 @@ void tst_binding::basicproperty_data() QTest::addColumn<QString>("file"); QTest::addColumn<QString>("binding"); + QTest::newRow("value (repeated)") << SRCDIR "/data/repeated.plain.out.txt" << "value"; + QTest::newRow("value (repeated multiple)") << SRCDIR "/data/repeated.multiple.out.txt" << "value"; + QTest::newRow("value (repeated branch)") << SRCDIR "/data/repeated.branch.out.txt" << "value"; + QTest::newRow("value") << SRCDIR "/data/localproperty.txt" << "value"; QTest::newRow("value + 10") << SRCDIR "/data/localproperty.txt" << "value + 10"; QTest::newRow("value + value + 10") << SRCDIR "/data/localproperty.txt" << "value + value + 10"; |