[perf-test] Add a benchmark for querySelector()
https://bugs.webkit.org/show_bug.cgi?id=87742
Reviewed by Ryosuke Niwa.
Now I am optimizing querySelector() (bug 87625).
This patch adds a performance test for querySelector().
query-selector-first.html queries an element that appears
at the head of the document. On the other hand,
query-selector-last.html queries an element that appears
at the tail of the document.
Test results in my desktop:
[query-selector-first.html]
RESULT Parser: query-selector-first= 252.339803014 runs/s
median= 253.646265594 runs/s, stdev= 2.32610873209 runs/s, min= 248.138957816 runs/s, max= 254.777070064 runs/s
RESULT Parser: query-selector-first= 252.688468897 runs/s
median= 252.684876579 runs/s, stdev= 3.60008778708 runs/s, min= 246.002460025 runs/s, max= 258.397932817 runs/s
RESULT Parser: query-selector-first= 253.466019656 runs/s
median= 254.129606099 runs/s, stdev= 1.78002675664 runs/s, min= 247.831474597 runs/s, max= 254.777070064 runs/s
RESULT Parser: query-selector-first= 256.245078189 runs/s
median= 257.06940874 runs/s, stdev= 2.84722072201 runs/s, min= 249.687890137 runs/s, max= 259.74025974 runs/s
RESULT Parser: query-selector-first= 252.203100497 runs/s
median= 252.047989175 runs/s, stdev= 1.75233446036 runs/s, min= 248.138957816 runs/s, max= 255.427841635 runs/s
[query-selector-last.html]
RESULT Parser: query-selector-last= 356.009616076 runs/s
median= 355.781448539 runs/s, stdev= 0.841519086864 runs/s, min= 354.430379747 runs/s, max= 358.056265985 runs/s
RESULT Parser: query-selector-last= 360.735271001 runs/s
median= 361.057532424 runs/s, stdev= 1.12253219867 runs/s, min= 358.514724712 runs/s, max= 362.225097025 runs/s
RESULT Parser: query-selector-last= 359.598592463 runs/s
median= 359.435173299 runs/s, stdev= 0.816538258728 runs/s, min= 358.056265985 runs/s, max= 360.824742268 runs/s
RESULT Parser: query-selector-last= 357.260651715 runs/s
median= 357.598978289 runs/s, stdev= 1.17393159885 runs/s, min= 353.982300885 runs/s, max= 358.974358974 runs/s
RESULT Parser: query-selector-last= 351.696240713 runs/s
median= 351.980025916 runs/s, stdev= 1.14200564038 runs/s, min= 348.692403487 runs/s, max= 353.535353535 runs/s
* Parser/query-selector-first.html: Added.
* Parser/query-selector-last.html: Added.
Canonical link: https://commits.webkit.org/105623@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@118899 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-05-30 07:00:50 +00:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html>
|
|
|
|
<body>
|
|
|
|
<script src="../resources/runner.js"></script>
|
|
|
|
<script>
|
|
|
|
for (var i = 0; i < 1000; i++) {
|
|
|
|
var div = document.createElement("div");
|
[perf-test] Make query-selector-last.html more realistic
https://bugs.webkit.org/show_bug.cgi?id=88203
Reviewed by Ryosuke Niwa.
query-selector-last.html tests querySelector() for an element
that appears after 1000 div elements, all of which have the same
id and class. To test the performance of querySelector() under
a lot of ids and classes, we should make the ids and classes of
the 1000 elements different.
This patch degrades the performance of query-selector-last.html
by 3.6%.
[Before]
RESULT Parser: query-selector-last= 476.382274152 runs/s
median= 476.821192053 runs/s, stdev= 1.14578875814 runs/s, min= 474.308300395 runs/s, max= 478.087649402 runs/s
RESULT Parser: query-selector-last= 478.423061861 runs/s
median= 478.723404255 runs/s, stdev= 1.54876867255 runs/s, min= 473.684210526 runs/s, max= 481.347773767 runs/s
RESULT Parser: query-selector-last= 479.849287174 runs/s
median= 480.0 runs/s, stdev= 1.69849752498 runs/s, min= 475.561426684 runs/s, max= 481.927710843 runs/s
RESULT Parser: query-selector-last= 476.765438846 runs/s
median= 477.453580902 runs/s, stdev= 1.8724488664 runs/s, min= 471.821756225 runs/s, max= 478.723404255 runs/s
RESULT Parser: query-selector-last= 481.715340644 runs/s
median= 481.637742305 runs/s, stdev= 1.81446361145 runs/s, min= 475.561426684 runs/s, max= 483.675937122 runs/s
[After]
RESULT Parser: query-selector-last= 458.866623582 runs/s
median= 459.183673469 runs/s, stdev= 1.48881464737 runs/s, min= 453.972257251 runs/s, max= 460.947503201 runs/s
RESULT Parser: query-selector-last= 460.363532897 runs/s
median= 460.358056266 runs/s, stdev= 1.58512056995 runs/s, min= 456.273764259 runs/s, max= 462.130937099 runs/s
RESULT Parser: query-selector-last= 457.727448451 runs/s
median= 458.015267176 runs/s, stdev= 1.23681915516 runs/s, min= 453.972257251 runs/s, max= 459.183673469 runs/s
RESULT Parser: query-selector-last= 465.57336853 runs/s
median= 465.717981889 runs/s, stdev= 1.6616925374 runs/s, min= 460.947503201 runs/s, max= 467.532467532 runs/s
RESULT Parser: query-selector-last= 459.836252019 runs/s
median= 459.770114943 runs/s, stdev= 1.84485630505 runs/s, min= 455.696202532 runs/s, max= 462.724935733 runs/s
* Parser/query-selector-last.html:
Canonical link: https://commits.webkit.org/106034@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@119366 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-06-04 02:24:49 +00:00
|
|
|
div.id = "foo" + i;
|
|
|
|
div.className = "bar" + i;
|
[perf-test] Add a benchmark for querySelector()
https://bugs.webkit.org/show_bug.cgi?id=87742
Reviewed by Ryosuke Niwa.
Now I am optimizing querySelector() (bug 87625).
This patch adds a performance test for querySelector().
query-selector-first.html queries an element that appears
at the head of the document. On the other hand,
query-selector-last.html queries an element that appears
at the tail of the document.
Test results in my desktop:
[query-selector-first.html]
RESULT Parser: query-selector-first= 252.339803014 runs/s
median= 253.646265594 runs/s, stdev= 2.32610873209 runs/s, min= 248.138957816 runs/s, max= 254.777070064 runs/s
RESULT Parser: query-selector-first= 252.688468897 runs/s
median= 252.684876579 runs/s, stdev= 3.60008778708 runs/s, min= 246.002460025 runs/s, max= 258.397932817 runs/s
RESULT Parser: query-selector-first= 253.466019656 runs/s
median= 254.129606099 runs/s, stdev= 1.78002675664 runs/s, min= 247.831474597 runs/s, max= 254.777070064 runs/s
RESULT Parser: query-selector-first= 256.245078189 runs/s
median= 257.06940874 runs/s, stdev= 2.84722072201 runs/s, min= 249.687890137 runs/s, max= 259.74025974 runs/s
RESULT Parser: query-selector-first= 252.203100497 runs/s
median= 252.047989175 runs/s, stdev= 1.75233446036 runs/s, min= 248.138957816 runs/s, max= 255.427841635 runs/s
[query-selector-last.html]
RESULT Parser: query-selector-last= 356.009616076 runs/s
median= 355.781448539 runs/s, stdev= 0.841519086864 runs/s, min= 354.430379747 runs/s, max= 358.056265985 runs/s
RESULT Parser: query-selector-last= 360.735271001 runs/s
median= 361.057532424 runs/s, stdev= 1.12253219867 runs/s, min= 358.514724712 runs/s, max= 362.225097025 runs/s
RESULT Parser: query-selector-last= 359.598592463 runs/s
median= 359.435173299 runs/s, stdev= 0.816538258728 runs/s, min= 358.056265985 runs/s, max= 360.824742268 runs/s
RESULT Parser: query-selector-last= 357.260651715 runs/s
median= 357.598978289 runs/s, stdev= 1.17393159885 runs/s, min= 353.982300885 runs/s, max= 358.974358974 runs/s
RESULT Parser: query-selector-last= 351.696240713 runs/s
median= 351.980025916 runs/s, stdev= 1.14200564038 runs/s, min= 348.692403487 runs/s, max= 353.535353535 runs/s
* Parser/query-selector-first.html: Added.
* Parser/query-selector-last.html: Added.
Canonical link: https://commits.webkit.org/105623@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@118899 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-05-30 07:00:50 +00:00
|
|
|
document.body.appendChild(div);
|
|
|
|
}
|
|
|
|
|
|
|
|
var h1 = document.createElement("h1");
|
|
|
|
h1.id = "id";
|
|
|
|
h1.className = "class";
|
|
|
|
document.body.appendChild(h1);
|
|
|
|
|
2012-10-17 22:06:52 +00:00
|
|
|
PerfTestRunner.measureRunsPerSecond({
|
[perf-test] Add a benchmark for querySelector()
https://bugs.webkit.org/show_bug.cgi?id=87742
Reviewed by Ryosuke Niwa.
Now I am optimizing querySelector() (bug 87625).
This patch adds a performance test for querySelector().
query-selector-first.html queries an element that appears
at the head of the document. On the other hand,
query-selector-last.html queries an element that appears
at the tail of the document.
Test results in my desktop:
[query-selector-first.html]
RESULT Parser: query-selector-first= 252.339803014 runs/s
median= 253.646265594 runs/s, stdev= 2.32610873209 runs/s, min= 248.138957816 runs/s, max= 254.777070064 runs/s
RESULT Parser: query-selector-first= 252.688468897 runs/s
median= 252.684876579 runs/s, stdev= 3.60008778708 runs/s, min= 246.002460025 runs/s, max= 258.397932817 runs/s
RESULT Parser: query-selector-first= 253.466019656 runs/s
median= 254.129606099 runs/s, stdev= 1.78002675664 runs/s, min= 247.831474597 runs/s, max= 254.777070064 runs/s
RESULT Parser: query-selector-first= 256.245078189 runs/s
median= 257.06940874 runs/s, stdev= 2.84722072201 runs/s, min= 249.687890137 runs/s, max= 259.74025974 runs/s
RESULT Parser: query-selector-first= 252.203100497 runs/s
median= 252.047989175 runs/s, stdev= 1.75233446036 runs/s, min= 248.138957816 runs/s, max= 255.427841635 runs/s
[query-selector-last.html]
RESULT Parser: query-selector-last= 356.009616076 runs/s
median= 355.781448539 runs/s, stdev= 0.841519086864 runs/s, min= 354.430379747 runs/s, max= 358.056265985 runs/s
RESULT Parser: query-selector-last= 360.735271001 runs/s
median= 361.057532424 runs/s, stdev= 1.12253219867 runs/s, min= 358.514724712 runs/s, max= 362.225097025 runs/s
RESULT Parser: query-selector-last= 359.598592463 runs/s
median= 359.435173299 runs/s, stdev= 0.816538258728 runs/s, min= 358.056265985 runs/s, max= 360.824742268 runs/s
RESULT Parser: query-selector-last= 357.260651715 runs/s
median= 357.598978289 runs/s, stdev= 1.17393159885 runs/s, min= 353.982300885 runs/s, max= 358.974358974 runs/s
RESULT Parser: query-selector-last= 351.696240713 runs/s
median= 351.980025916 runs/s, stdev= 1.14200564038 runs/s, min= 348.692403487 runs/s, max= 353.535353535 runs/s
* Parser/query-selector-first.html: Added.
* Parser/query-selector-last.html: Added.
Canonical link: https://commits.webkit.org/105623@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@118899 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-05-30 07:00:50 +00:00
|
|
|
description: "This benchmark tests querySelector() for an element that appears near the tail of the document",
|
|
|
|
run: function() {
|
|
|
|
for (var i = 0; i < 100; i++) {
|
|
|
|
document.querySelector("h1");
|
|
|
|
document.querySelector("#id");
|
|
|
|
document.querySelector(".class");
|
|
|
|
}
|
[perf-test] Add a benchmark of querySelector() for an element that appears in the depths in the document
https://bugs.webkit.org/show_bug.cgi?id=88202
Reviewed by Ryosuke Niwa.
query-selector-first.html tests querySelector() for an element
that appears at the head of the document. query-selector-last.html
tests querySelector() for an element that appears at the tail of
the document. In addition, we want a benchmark of querySelector()
for an element that appears in the depths in the document.
Test results in my Linux desktop:
RESULT Parser: query-selector-deep= 460.776980611 runs/s
median= 460.947503201 runs/s, stdev= 1.72274941942 runs/s, min= 455.696202532 runs/s, max= 463.32046332 runs/s
RESULT Parser: query-selector-deep= 458.925050915 runs/s
median= 459.183673469 runs/s, stdev= 1.47930124139 runs/s, min= 454.545454545 runs/s, max= 460.947503201 runs/s
RESULT Parser: query-selector-deep= 461.866981491 runs/s
median= 461.538461538 runs/s, stdev= 1.14613123359 runs/s, min= 459.183673469 runs/s, max= 463.917525773 runs/s
RESULT Parser: query-selector-deep= 453.922010788 runs/s
median= 454.258855898 runs/s, stdev= 1.77279123317 runs/s, min= 447.204968944 runs/s, max= 455.696202532 runs/s
RESULT Parser: query-selector-deep= 454.666321221 runs/s
median= 454.545454545 runs/s, stdev= 1.65775667417 runs/s, min= 451.127819549 runs/s, max= 456.852791878 runs/s
* Parser/query-selector-deep.html: Added.
Canonical link: https://commits.webkit.org/106036@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@119368 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-06-04 03:14:20 +00:00
|
|
|
}});
|
[perf-test] Add a benchmark for querySelector()
https://bugs.webkit.org/show_bug.cgi?id=87742
Reviewed by Ryosuke Niwa.
Now I am optimizing querySelector() (bug 87625).
This patch adds a performance test for querySelector().
query-selector-first.html queries an element that appears
at the head of the document. On the other hand,
query-selector-last.html queries an element that appears
at the tail of the document.
Test results in my desktop:
[query-selector-first.html]
RESULT Parser: query-selector-first= 252.339803014 runs/s
median= 253.646265594 runs/s, stdev= 2.32610873209 runs/s, min= 248.138957816 runs/s, max= 254.777070064 runs/s
RESULT Parser: query-selector-first= 252.688468897 runs/s
median= 252.684876579 runs/s, stdev= 3.60008778708 runs/s, min= 246.002460025 runs/s, max= 258.397932817 runs/s
RESULT Parser: query-selector-first= 253.466019656 runs/s
median= 254.129606099 runs/s, stdev= 1.78002675664 runs/s, min= 247.831474597 runs/s, max= 254.777070064 runs/s
RESULT Parser: query-selector-first= 256.245078189 runs/s
median= 257.06940874 runs/s, stdev= 2.84722072201 runs/s, min= 249.687890137 runs/s, max= 259.74025974 runs/s
RESULT Parser: query-selector-first= 252.203100497 runs/s
median= 252.047989175 runs/s, stdev= 1.75233446036 runs/s, min= 248.138957816 runs/s, max= 255.427841635 runs/s
[query-selector-last.html]
RESULT Parser: query-selector-last= 356.009616076 runs/s
median= 355.781448539 runs/s, stdev= 0.841519086864 runs/s, min= 354.430379747 runs/s, max= 358.056265985 runs/s
RESULT Parser: query-selector-last= 360.735271001 runs/s
median= 361.057532424 runs/s, stdev= 1.12253219867 runs/s, min= 358.514724712 runs/s, max= 362.225097025 runs/s
RESULT Parser: query-selector-last= 359.598592463 runs/s
median= 359.435173299 runs/s, stdev= 0.816538258728 runs/s, min= 358.056265985 runs/s, max= 360.824742268 runs/s
RESULT Parser: query-selector-last= 357.260651715 runs/s
median= 357.598978289 runs/s, stdev= 1.17393159885 runs/s, min= 353.982300885 runs/s, max= 358.974358974 runs/s
RESULT Parser: query-selector-last= 351.696240713 runs/s
median= 351.980025916 runs/s, stdev= 1.14200564038 runs/s, min= 348.692403487 runs/s, max= 353.535353535 runs/s
* Parser/query-selector-first.html: Added.
* Parser/query-selector-last.html: Added.
Canonical link: https://commits.webkit.org/105623@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@118899 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-05-30 07:00:50 +00:00
|
|
|
</script>
|
|
|
|
</body>
|
|
|
|
</html>
|