haikuwebkit/PerformanceTests/Bindings/create-element.html

15 lines
432 B
HTML
Raw Permalink Normal View History

[perf-test] Add 7 micro benchmarks for DOM bindings https://bugs.webkit.org/show_bug.cgi?id=86816 Reviewed by Ryosuke Niwa. We should remove Bindings/dom-attributes.html and instead add more reasonable micro benchmarks by classifying DOM binding call paths. This patch adds seven micro benchmarks for DOM bindings. id-getter.html covers 'element.property' in Dromaeo/dom-attr.html, 'innerHTML' in Dromaeo/dom-modify.html, and other DOM attributes that return a String. id-setter.html covers 'element.property = value' in Dromaeo/dom-attr.html, and other DOM attributes that sets a String. undefined-id-getter.html covers undefined DOM attributes that return an empty String. append-child.html covers 'appendChild' and 'removeChild' in Dromaeo/dom-modify.html. insert-before.html covers 'insertBefore' in Dromaeo/dom-modify.html and replaceChild(). create-element.html covers 'createElement', 'createTextNode' and 'cloneNode' in Dromaeo/dom-modify.html, and other DOM methods that return a new Node object. node-list-access.html covers 'childNodes' in Dromaeo/dom-traverse.html, and other DOM attributes that access NodeList. Test results in my Linux desktop: [id-getter] RESULT Bindings: id-getter= 550.517821097 runs/s median= 550.688360451 runs/s, stdev= 0.970723739106 runs/s, min= 548.628428928 runs/s, max= 552.070263488 runs/s RESULT Bindings: id-getter= 550.655839847 runs/s median= 550.688360451 runs/s, stdev= 1.03312821884 runs/s, min= 549.313358302 runs/s, max= 552.070263488 runs/s RESULT Bindings: id-getter= 550.277753355 runs/s median= 550.344180225 runs/s, stdev= 1.19960683464 runs/s, min= 547.945205479 runs/s, max= 552.070263488 runs/s RESULT Bindings: id-getter= 550.072271009 runs/s median= 550.344180225 runs/s, stdev= 1.38925152131 runs/s, min= 547.263681592 runs/s, max= 552.070263488 runs/s RESULT Bindings: id-getter= 548.802050235 runs/s median= 548.628428928 runs/s, stdev= 1.18244513683 runs/s, min= 545.905707196 runs/s, max= 550.688360451 runs/s [id-setter] RESULT Bindings: id-setter= 211.370591663 runs/s median= 210.803689065 runs/s, stdev= 1.4555795889 runs/s, min= 209.973753281 runs/s, max= 214.285714286 runs/s RESULT Bindings: id-setter= 215.439081352 runs/s median= 214.797136038 runs/s, stdev= 1.50920388121 runs/s, min= 213.049267643 runs/s, max= 218.446601942 runs/s RESULT Bindings: id-setter= 216.721698466 runs/s median= 215.956886352 runs/s, stdev= 1.54090749644 runs/s, min= 214.285714286 runs/s, max= 219.78021978 runs/s RESULT Bindings: id-setter= 216.343019087 runs/s median= 215.827338129 runs/s, stdev= 1.46619894553 runs/s, min= 215.053763441 runs/s, max= 218.97810219 runs/s RESULT Bindings: id-setter= 216.799288017 runs/s median= 215.956886352 runs/s, stdev= 1.49100776978 runs/s, min= 215.311004785 runs/s, max= 219.78021978 runs/s [undefined-id-getter] RESULT Bindings: undefined-id-getter= 494.104255241 runs/s median= 494.132368875 runs/s, stdev= 1.13092821109 runs/s, min= 490.797546012 runs/s, max= 495.662949195 runs/s RESULT Bindings: undefined-id-getter= 493.921802916 runs/s median= 493.827160494 runs/s, stdev= 1.25097443119 runs/s, min= 490.196078431 runs/s, max= 495.662949195 runs/s RESULT Bindings: undefined-id-getter= 491.976485667 runs/s median= 492.004920049 runs/s, stdev= 0.947090576896 runs/s, min= 490.196078431 runs/s, max= 493.827160494 runs/s RESULT Bindings: undefined-id-getter= 491.987710185 runs/s median= 494.132368875 runs/s, stdev= 8.66602543327 runs/s, min= 454.545454545 runs/s, max= 495.662949195 runs/s RESULT Bindings: undefined-id-getter= 494.195515847 runs/s median= 494.437577256 runs/s, stdev= 1.06135681702 runs/s, min= 490.797546012 runs/s, max= 495.662949195 runs/s [append-child] RESULT Bindings: append-child= 260.628237026 runs/s median= 260.926399352 runs/s, stdev= 2.55231060598 runs/s, min= 256.739409499 runs/s, max= 265.604249668 runs/s RESULT Bindings: append-child= 280.796193436 runs/s median= 280.791435348 runs/s, stdev= 2.53961321867 runs/s, min= 277.427490542 runs/s, max= 286.085825748 runs/s RESULT Bindings: append-child= 279.856209714 runs/s median= 280.25477707 runs/s, stdev= 2.85447647301 runs/s, min= 275.344180225 runs/s, max= 284.237726098 runs/s RESULT Bindings: append-child= 280.834502714 runs/s median= 280.25477707 runs/s, stdev= 2.67738046429 runs/s, min= 277.427490542 runs/s, max= 287.206266319 runs/s RESULT Bindings: append-child= 274.723872106 runs/s median= 273.291925466 runs/s, stdev= 3.03671746706 runs/s, min= 272.614622057 runs/s, max= 282.413350449 runs/s [insert-before] RESULT Bindings: insert-before= 180.986913006 runs/s median= 180.878552972 runs/s, stdev= 0.758038687299 runs/s, min= 180.18018018 runs/s, max= 183.968462549 runs/s RESULT Bindings: insert-before= 186.339916144 runs/s median= 186.170212766 runs/s, stdev= 0.869022097127 runs/s, min= 185.676392573 runs/s, max= 189.798339265 runs/s RESULT Bindings: insert-before= 189.45344838 runs/s median= 189.349112426 runs/s, stdev= 0.811854866567 runs/s, min= 187.79342723 runs/s, max= 192.539109507 runs/s RESULT Bindings: insert-before= 189.363295991 runs/s median= 189.349112426 runs/s, stdev= 0.75387713097 runs/s, min= 188.014101058 runs/s, max= 192.076830732 runs/s RESULT Bindings: insert-before= 189.252041642 runs/s median= 189.349112426 runs/s, stdev= 0.840447225363 runs/s, min= 187.573270809 runs/s, max= 192.076830732 runs/s [create-element] RESULT Bindings: create-element= 280.675830077 runs/s median= 280.701824914 runs/s, stdev= 0.788606343054 runs/s, min= 279.441117764 runs/s, max= 282.542885974 runs/s RESULT Bindings: create-element= 276.427631436 runs/s median= 277.227722772 runs/s, stdev= 3.39874667549 runs/s, min= 262.417994377 runs/s, max= 279.162512463 runs/s RESULT Bindings: create-element= 277.156894411 runs/s median= 277.227722772 runs/s, stdev= 1.13255119226 runs/s, min= 274.914089347 runs/s, max= 278.884462151 runs/s RESULT Bindings: create-element= 278.066825356 runs/s median= 278.191822254 runs/s, stdev= 0.686497782792 runs/s, min= 276.953511375 runs/s, max= 279.162512463 runs/s RESULT Bindings: create-element= 276.431538109 runs/s median= 276.406712734 runs/s, stdev= 0.759593662298 runs/s, min= 275.229357798 runs/s, max= 278.053624628 runs/s [node-list-access] RESULT Bindings: node-list-access= 222.747504073 runs/s median= 222.772277228 runs/s, stdev= 0.789027527555 runs/s, min= 221.674876847 runs/s, max= 224.159402242 runs/s RESULT Bindings: node-list-access= 220.722448287 runs/s median= 221.266217576 runs/s, stdev= 1.65463497875 runs/s, min= 217.391304348 runs/s, max= 222.222222222 runs/s RESULT Bindings: node-list-access= 222.195870443 runs/s median= 222.222222222 runs/s, stdev= 0.489709262091 runs/s, min= 221.13022113 runs/s, max= 223.048327138 runs/s RESULT Bindings: node-list-access= 221.431121677 runs/s median= 221.538545435 runs/s, stdev= 0.608292116087 runs/s, min= 220.048899756 runs/s, max= 222.772277228 runs/s RESULT Bindings: node-list-access= 219.001367135 runs/s median= 221.538545435 runs/s, stdev= 4.65773933007 runs/s, min= 209.973753281 runs/s, max= 222.496909765 runs/s * Bindings/append-child.html: Added. * Bindings/create-element.html: Added. * Bindings/id-getter.html: Added. * Bindings/id-setter.html: Added. * Bindings/insert-before.html: Added. * Bindings/node-list-access.html: Added. * Bindings/undefined-id-getter.html: Added. Canonical link: https://commits.webkit.org/104463@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@117563 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-05-18 08:40:55 +00:00
<!DOCTYPE html>
<html>
<body>
<script src="../resources/runner.js"></script>
<script>
Rename PerfTestRunner.runPerSecond to PerfTestRunner.measureRunsPerSecond for consistency https://bugs.webkit.org/show_bug.cgi?id=99642 Reviewed by Dirk Pranke. Renamed the method. * Bindings/append-child.html: * Bindings/create-element.html: * Bindings/event-target-wrapper.html: * Bindings/first-child.html: * Bindings/get-attribute.html: * Bindings/get-element-by-id.html: * Bindings/get-elements-by-tag-name.html: * Bindings/id-getter.html: * Bindings/id-setter.html: * Bindings/insert-before.html: * Bindings/node-list-access.html: * Bindings/scroll-top.html: * Bindings/set-attribute.html: * Bindings/typed-array-construct-from-array.html: * Bindings/typed-array-construct-from-same-type.html: * Bindings/typed-array-construct-from-typed.html: * Bindings/typed-array-set-from-typed.html: * Bindings/undefined-first-child.html: * Bindings/undefined-get-element-by-id.html: * Bindings/undefined-id-getter.html: * CSS/CSSPropertySetterGetter.html: * CSS/CSSPropertyUpdateValue.html: * CSS/PseudoClassSelectors.html: * DOM/textarea-dom.html: * DOM/textarea-edit.html: * Interactive/resources/window-resize.js: * Layout/flexbox-column-nowrap.html: * Layout/flexbox-column-wrap.html: * Layout/flexbox-row-nowrap.html: * Layout/flexbox-row-wrap.html: * Layout/line-layout.html: * Parser/css-parser-yui.html: * Parser/innerHTML-setter.html: * Parser/query-selector-deep.html: * Parser/query-selector-first.html: * Parser/query-selector-last.html: * Parser/simple-url.html: * Parser/textarea-parsing.html: * Parser/tiny-innerHTML.html: * Parser/url-parser.html: * Parser/xml-parser.html: * SVG/SvgNestedUse.html: * resources/runner.js: Canonical link: https://commits.webkit.org/117606@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@131651 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-10-17 22:06:52 +00:00
PerfTestRunner.measureRunsPerSecond({
[perf-test] Add 7 micro benchmarks for DOM bindings https://bugs.webkit.org/show_bug.cgi?id=86816 Reviewed by Ryosuke Niwa. We should remove Bindings/dom-attributes.html and instead add more reasonable micro benchmarks by classifying DOM binding call paths. This patch adds seven micro benchmarks for DOM bindings. id-getter.html covers 'element.property' in Dromaeo/dom-attr.html, 'innerHTML' in Dromaeo/dom-modify.html, and other DOM attributes that return a String. id-setter.html covers 'element.property = value' in Dromaeo/dom-attr.html, and other DOM attributes that sets a String. undefined-id-getter.html covers undefined DOM attributes that return an empty String. append-child.html covers 'appendChild' and 'removeChild' in Dromaeo/dom-modify.html. insert-before.html covers 'insertBefore' in Dromaeo/dom-modify.html and replaceChild(). create-element.html covers 'createElement', 'createTextNode' and 'cloneNode' in Dromaeo/dom-modify.html, and other DOM methods that return a new Node object. node-list-access.html covers 'childNodes' in Dromaeo/dom-traverse.html, and other DOM attributes that access NodeList. Test results in my Linux desktop: [id-getter] RESULT Bindings: id-getter= 550.517821097 runs/s median= 550.688360451 runs/s, stdev= 0.970723739106 runs/s, min= 548.628428928 runs/s, max= 552.070263488 runs/s RESULT Bindings: id-getter= 550.655839847 runs/s median= 550.688360451 runs/s, stdev= 1.03312821884 runs/s, min= 549.313358302 runs/s, max= 552.070263488 runs/s RESULT Bindings: id-getter= 550.277753355 runs/s median= 550.344180225 runs/s, stdev= 1.19960683464 runs/s, min= 547.945205479 runs/s, max= 552.070263488 runs/s RESULT Bindings: id-getter= 550.072271009 runs/s median= 550.344180225 runs/s, stdev= 1.38925152131 runs/s, min= 547.263681592 runs/s, max= 552.070263488 runs/s RESULT Bindings: id-getter= 548.802050235 runs/s median= 548.628428928 runs/s, stdev= 1.18244513683 runs/s, min= 545.905707196 runs/s, max= 550.688360451 runs/s [id-setter] RESULT Bindings: id-setter= 211.370591663 runs/s median= 210.803689065 runs/s, stdev= 1.4555795889 runs/s, min= 209.973753281 runs/s, max= 214.285714286 runs/s RESULT Bindings: id-setter= 215.439081352 runs/s median= 214.797136038 runs/s, stdev= 1.50920388121 runs/s, min= 213.049267643 runs/s, max= 218.446601942 runs/s RESULT Bindings: id-setter= 216.721698466 runs/s median= 215.956886352 runs/s, stdev= 1.54090749644 runs/s, min= 214.285714286 runs/s, max= 219.78021978 runs/s RESULT Bindings: id-setter= 216.343019087 runs/s median= 215.827338129 runs/s, stdev= 1.46619894553 runs/s, min= 215.053763441 runs/s, max= 218.97810219 runs/s RESULT Bindings: id-setter= 216.799288017 runs/s median= 215.956886352 runs/s, stdev= 1.49100776978 runs/s, min= 215.311004785 runs/s, max= 219.78021978 runs/s [undefined-id-getter] RESULT Bindings: undefined-id-getter= 494.104255241 runs/s median= 494.132368875 runs/s, stdev= 1.13092821109 runs/s, min= 490.797546012 runs/s, max= 495.662949195 runs/s RESULT Bindings: undefined-id-getter= 493.921802916 runs/s median= 493.827160494 runs/s, stdev= 1.25097443119 runs/s, min= 490.196078431 runs/s, max= 495.662949195 runs/s RESULT Bindings: undefined-id-getter= 491.976485667 runs/s median= 492.004920049 runs/s, stdev= 0.947090576896 runs/s, min= 490.196078431 runs/s, max= 493.827160494 runs/s RESULT Bindings: undefined-id-getter= 491.987710185 runs/s median= 494.132368875 runs/s, stdev= 8.66602543327 runs/s, min= 454.545454545 runs/s, max= 495.662949195 runs/s RESULT Bindings: undefined-id-getter= 494.195515847 runs/s median= 494.437577256 runs/s, stdev= 1.06135681702 runs/s, min= 490.797546012 runs/s, max= 495.662949195 runs/s [append-child] RESULT Bindings: append-child= 260.628237026 runs/s median= 260.926399352 runs/s, stdev= 2.55231060598 runs/s, min= 256.739409499 runs/s, max= 265.604249668 runs/s RESULT Bindings: append-child= 280.796193436 runs/s median= 280.791435348 runs/s, stdev= 2.53961321867 runs/s, min= 277.427490542 runs/s, max= 286.085825748 runs/s RESULT Bindings: append-child= 279.856209714 runs/s median= 280.25477707 runs/s, stdev= 2.85447647301 runs/s, min= 275.344180225 runs/s, max= 284.237726098 runs/s RESULT Bindings: append-child= 280.834502714 runs/s median= 280.25477707 runs/s, stdev= 2.67738046429 runs/s, min= 277.427490542 runs/s, max= 287.206266319 runs/s RESULT Bindings: append-child= 274.723872106 runs/s median= 273.291925466 runs/s, stdev= 3.03671746706 runs/s, min= 272.614622057 runs/s, max= 282.413350449 runs/s [insert-before] RESULT Bindings: insert-before= 180.986913006 runs/s median= 180.878552972 runs/s, stdev= 0.758038687299 runs/s, min= 180.18018018 runs/s, max= 183.968462549 runs/s RESULT Bindings: insert-before= 186.339916144 runs/s median= 186.170212766 runs/s, stdev= 0.869022097127 runs/s, min= 185.676392573 runs/s, max= 189.798339265 runs/s RESULT Bindings: insert-before= 189.45344838 runs/s median= 189.349112426 runs/s, stdev= 0.811854866567 runs/s, min= 187.79342723 runs/s, max= 192.539109507 runs/s RESULT Bindings: insert-before= 189.363295991 runs/s median= 189.349112426 runs/s, stdev= 0.75387713097 runs/s, min= 188.014101058 runs/s, max= 192.076830732 runs/s RESULT Bindings: insert-before= 189.252041642 runs/s median= 189.349112426 runs/s, stdev= 0.840447225363 runs/s, min= 187.573270809 runs/s, max= 192.076830732 runs/s [create-element] RESULT Bindings: create-element= 280.675830077 runs/s median= 280.701824914 runs/s, stdev= 0.788606343054 runs/s, min= 279.441117764 runs/s, max= 282.542885974 runs/s RESULT Bindings: create-element= 276.427631436 runs/s median= 277.227722772 runs/s, stdev= 3.39874667549 runs/s, min= 262.417994377 runs/s, max= 279.162512463 runs/s RESULT Bindings: create-element= 277.156894411 runs/s median= 277.227722772 runs/s, stdev= 1.13255119226 runs/s, min= 274.914089347 runs/s, max= 278.884462151 runs/s RESULT Bindings: create-element= 278.066825356 runs/s median= 278.191822254 runs/s, stdev= 0.686497782792 runs/s, min= 276.953511375 runs/s, max= 279.162512463 runs/s RESULT Bindings: create-element= 276.431538109 runs/s median= 276.406712734 runs/s, stdev= 0.759593662298 runs/s, min= 275.229357798 runs/s, max= 278.053624628 runs/s [node-list-access] RESULT Bindings: node-list-access= 222.747504073 runs/s median= 222.772277228 runs/s, stdev= 0.789027527555 runs/s, min= 221.674876847 runs/s, max= 224.159402242 runs/s RESULT Bindings: node-list-access= 220.722448287 runs/s median= 221.266217576 runs/s, stdev= 1.65463497875 runs/s, min= 217.391304348 runs/s, max= 222.222222222 runs/s RESULT Bindings: node-list-access= 222.195870443 runs/s median= 222.222222222 runs/s, stdev= 0.489709262091 runs/s, min= 221.13022113 runs/s, max= 223.048327138 runs/s RESULT Bindings: node-list-access= 221.431121677 runs/s median= 221.538545435 runs/s, stdev= 0.608292116087 runs/s, min= 220.048899756 runs/s, max= 222.772277228 runs/s RESULT Bindings: node-list-access= 219.001367135 runs/s median= 221.538545435 runs/s, stdev= 4.65773933007 runs/s, min= 209.973753281 runs/s, max= 222.496909765 runs/s * Bindings/append-child.html: Added. * Bindings/create-element.html: Added. * Bindings/id-getter.html: Added. * Bindings/id-setter.html: Added. * Bindings/insert-before.html: Added. * Bindings/node-list-access.html: Added. * Bindings/undefined-id-getter.html: Added. Canonical link: https://commits.webkit.org/104463@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@117563 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-05-18 08:40:55 +00:00
description: "This benchmark covers 'createElement', 'createTextNode' and 'cloneNode' in Dromaeo/dom-modify.html, and other DOM methods that return a new Node object.",
run: function() {
for (var i = 0; i < 5000; i++)
document.createElement("div");
}});
</script>
</body>
</html>