aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--benchmarks/auto/js/sum10k.qml6
-rw-r--r--benchmarks/auto/js/sum10k_fixed.qml20
2 files changed, 26 insertions, 0 deletions
diff --git a/benchmarks/auto/js/sum10k.qml b/benchmarks/auto/js/sum10k.qml
index 0667945..ed9850f 100644
--- a/benchmarks/auto/js/sum10k.qml
+++ b/benchmarks/auto/js/sum10k.qml
@@ -2,6 +2,12 @@ import QtQuick 2.0
import QmlBench 1.0
// Tests the creation of items with a non-recursive function binding
+// Note: Through an unfortunate oversight, this benchmark is mildly broken.
+// The loop never updates the 'x' value. However, this benchmark has already
+// given some insights, and changing it (as any other benchmark) would
+// invalidate past data causing confusion, so it has not been altered.
+//
+// See sum10k_fixed for a working version.
CreationBenchmark {
id: root;
count: 50;
diff --git a/benchmarks/auto/js/sum10k_fixed.qml b/benchmarks/auto/js/sum10k_fixed.qml
new file mode 100644
index 0000000..b638a94
--- /dev/null
+++ b/benchmarks/auto/js/sum10k_fixed.qml
@@ -0,0 +1,20 @@
+import QtQuick 2.0
+import QmlBench 1.0
+
+// Tests the creation of items with a non-recursive function binding
+CreationBenchmark {
+ id: root;
+ count: 50;
+ staticCount: 1000;
+ delegate: Item {
+ x: sum(10000);
+ }
+
+ function sum(n) {
+ var x = 0;
+ for (var i=0; i<n; ++i)
+ x = x + 1;
+ return x;
+ }
+}
+