jsPerf.app is an online JavaScript performance benchmark test runner & jsperf.com mirror. It is a complete rewrite in homage to the once excellent jsperf.com now with hopefully a more modern & maintainable codebase.
jsperf.com URLs are mirrored at the same path, e.g:
https://jsperf.com/negative-modulo/2
Can be accessed at:
https://jsperf.app/negative-modulo/2
make more complicate node operations. seens three method is the same...
<div id="adiv"><p id="innerp">p elem</p><span id="innerspan">span elem</span></div>
<div id="viewer-all-new-links">Show: <span class="unselectable link" id="show-new">47 new items</span> - <span class="unselectable link link-selected" id="show-all">all items</span></div><div id="viewer-comments-all-links">Show: <span class="unselectable link link-selected" id="show-commented">Items with comments</span> - <span class="unselectable link" id="show-all-shared">all shared items</span></div><div id="mark-all-as-read-split-button"><div role="wairole:button" tabindex="0" class="goog-button goog-button-base unselectable goog-inline-block goog-button-float-left goog-button-tight viewer-buttons" id="mark-all-as-read"><div class="goog-button-base-outer-box goog-inline-block"><div class="goog-button-base-inner-box goog-inline-block"><div class="goog-button-base-pos"><div class="goog-button-base-top-shadow"> </div><div class="goog-button-base-content"><div class="goog-button-body">Mark all as read</div></div></div></div></div></div><div role="wairole:button" tabindex="0" class="goog-button goog-button-base unselectable goog-inline-block goog-button-float-left goog-menu-button goog-button-tight viewer-buttons" id="mark-all-as-read-options"><div class="goog-button-base-outer-box goog-inline-block"><div class="goog-button-base-inner-box goog-inline-block"><div class="goog-button-base-pos"><div class="goog-button-base-top-shadow"> </div><div class="goog-button-base-content"><div class="goog-button-body"> </div><div class="goog-menu-button-dropdown"></div></div></div></div></div></div></div><div role="wairole:button" tabindex="0" class="goog-button goog-button-base unselectable goog-inline-block goog-button-float-left goog-button-tight viewer-buttons" id="viewer-refresh"><div class="goog-button-base-outer-box goog-inline-block"><div class="goog-button-base-inner-box goog-inline-block"><div class="goog-button-base-pos"><div class="goog-button-base-top-shadow"> </div><div class="goog-button-base-content"><div class="goog-button-body">Refresh</div></div></div></div></div></div><div role="wairole:button" tabindex="0" class="goog-button goog-button-base unselectable goog-inline-block goog-button-float-left goog-menu-button goog-button-tight" id="stream-prefs-menu"><div class="goog-button-base-outer-box goog-inline-block"><div class="goog-button-base-inner-box goog-inline-block"><div class="goog-button-base-pos"><div class="goog-button-base-top-shadow"> </div><div class="goog-button-base-content"><div class="goog-button-body">Feed settings...</div><div class="goog-menu-button-dropdown"></div></div></div></div></div></div><div id="viewer-toggles"><span id="viewer-allcomments-toggle"><a class="link unselectable">Switch to "Comment view" »</a></span></div><div id="viewer-allcomments-return" class="link unselectable">« Back to "Friends' shared items"</div><div id="viewer-recommendations-return" class="link unselectable">« Back to your recommended feeds</div><span id="viewer-translated-by" class="hidden">Translated by Google - <span class="link" id="viewer-translate-revert-link">View Original</span></span><span id="viewer-single-parent"></span><span id="viewer-single-item-parent"></span><div id="viewer-details-toggle" class="unselectable link">show details</div>
<script>
var refNode = document.getElementById("viewer-all-new-links");
function createNewE(){
return refNode.cloneNode(true);
}
var ct = document.getElementById("adiv");
function rChild() {
var oldE = ct.lastChild;
var newE = createNewE();
ct.replaceChild(newE, oldE);
}
function raChild() {
var oldE = ct.lastChild;
ct.removeChild(oldE);
var newE = createNewE();
ct.appendChild(newE);
}
function arChild() {
var oldE = ct.lastChild;
var newE = createNewE();
ct.appendChild(newE);
ct.removeChild(oldE);
}
</script>
Ready to run.
Test | Ops/sec | |
---|---|---|
replaceChild() |
| ready |
removeChild() / appendChild() |
| ready |
appendChild() / removeChild() |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.