Add a performance tests for selecting all content in a document
authorrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 27 Mar 2013 17:54:52 +0000 (17:54 +0000)
committerrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 27 Mar 2013 17:54:52 +0000 (17:54 +0000)
https://bugs.webkit.org/show_bug.cgi?id=113358

Reviewed by Levi Weintraub.

Add a performance test for selecting all. We wait for paint to happen by setTimeout(~, 0).

Example outputs:
    RESULT Interactive: SelectAll: Time= 652.6 ms
    median= 644.5 ms, stdev= 54.6177144967 ms, min= 599.0 ms, max= 773.0 ms

    RESULT Interactive: SelectAll: Time= 654.4 ms
    median= 633.5 ms, stdev= 55.9223145368 ms, min= 600.0 ms, max= 769.0 ms

    RESULT Interactive: SelectAll: Time= 657.9 ms
    median= 640.0 ms, stdev= 54.1420159833 ms, min= 604.0 ms, max= 774.0 ms

* Interactive/SelectAll.html: Added.
* Skipped:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@146997 268f45cc-cd09-0410-ab3c-d52691b4dbfc

PerformanceTests/ChangeLog
PerformanceTests/Interactive/SelectAll.html [new file with mode: 0644]
PerformanceTests/Skipped

index 0f3f87d..93c9e98 100644 (file)
@@ -1,3 +1,25 @@
+2013-03-26  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Add a performance tests for selecting all content in a document
+        https://bugs.webkit.org/show_bug.cgi?id=113358
+
+        Reviewed by Levi Weintraub.
+
+        Add a performance test for selecting all. We wait for paint to happen by setTimeout(~, 0).
+
+        Example outputs:
+            RESULT Interactive: SelectAll: Time= 652.6 ms
+            median= 644.5 ms, stdev= 54.6177144967 ms, min= 599.0 ms, max= 773.0 ms
+
+            RESULT Interactive: SelectAll: Time= 654.4 ms
+            median= 633.5 ms, stdev= 55.9223145368 ms, min= 600.0 ms, max= 769.0 ms
+
+            RESULT Interactive: SelectAll: Time= 657.9 ms
+            median= 640.0 ms, stdev= 54.1420159833 ms, min= 604.0 ms, max= 774.0 ms
+
+        * Interactive/SelectAll.html: Added.
+        * Skipped:
+
 2013-03-19  Alexei Filippov  <alph@chromium.org>
 
         Web Inspector: Fix heap profiler performance tests.
diff --git a/PerformanceTests/Interactive/SelectAll.html b/PerformanceTests/Interactive/SelectAll.html
new file mode 100644 (file)
index 0000000..1e89ab9
--- /dev/null
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+<body>
+<script src="../resources/runner.js"></script>
+<script>
+
+PerfTestRunner.prepareToMeasureValuesAsync({
+    unit: 'ms',
+    done: function () {
+        var iframe = document.querySelector('iframe');
+        iframe.parentNode.removeChild(iframe);
+    }
+});
+
+function runTest() {
+    var iframe = document.querySelector('iframe');
+    iframe.contentWindow.getSelection().removeAllRanges();
+    iframe.contentDocument.body.offsetTop;
+
+    setTimeout(function () {
+        var startTime = PerfTestRunner.now();
+        iframe.contentDocument.execCommand('SelectAll');
+        iframe.contentDocument.body.offsetTop;
+        setTimeout(function () {
+            PerfTestRunner.measureValueAsync(PerfTestRunner.now() - startTime);
+            PerfTestRunner.gc();
+            setTimeout(runTest, 0);
+        }, 0);        
+    }, 0);
+}
+
+</script>
+<iframe src="../Parser/resources/html5.html" onload="runTest()" width="800" height="600">
+</body>
+</html>
index e752cba..6870c72 100644 (file)
@@ -1,5 +1,6 @@
 # Micro benchmarks not worth running at the moment.
 DOM/TraverseChildNodes.html
+Interactive/SelectAll.html
 
 # Not enabled by default on some ports
 Mutation