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
<p id="foo">Foo</p>
<p id="bar">Bar</p>
<p id="baz">Baz</p>
var idSelectorRegexp = /^#[a-zA-Z]+[a-zA-Z0-9_\-]*$/;
var withSlice = function(query){
// pure ID selector?
if (idSelectorRegexp.test(query))
return document.getElementById(query.slice(1));
else
return document.querySelector(query);
};
var withSubstring = function(query){
// pure ID selector?
if (idSelectorRegexp.test(query))
return document.getElementById(query.substring(1));
else
return document.querySelector(query);
};
var withSubstr = function(query){
// pure ID selector?
if (idSelectorRegexp.test(query))
return document.getElementById(query.substr(1));
else
return document.querySelector(query);
};
var withBind = function(query){};
withBind.id = document.getElementById.bind(document);
var withReturn = function(query){};
withReturn.id = function(id){ return document.getElementById(id)}
Ready to run.
Test | Ops/sec | |
---|---|---|
getElementById |
| ready |
querySelector |
| ready |
withSlice |
| ready |
withSubstring |
| ready |
withSubstr |
| ready |
return getElementById |
| ready |
bind getElementById |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.