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
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<widget id="widget1" data-args="asd">
<parameters>
<param name="bla1" value="bla1"/>
<param name="bla2" value="2"/>
<param name="bla3" value="true"/>
<param name="bla4" value="bla1"/>
<param name="bla5" value="2"/>
<param name="bla6" value="true"/>
<param name="bla7" value="bla1"/>
<param name="bla8" value="2"/>
<param name="bla9" value="true"/>
</parameters>
</widget>
<widget id="widget2" data-args="{'bla1': 'bla1', 'bla2': 2,'bla3': true,'bla4': 'bla1', 'bla5': 2,'bla6': true,'bla7': 'bla1', 'bla8': 2,'bla9': true}"/>
<widget id="widget3" data-bla1="bla1" data-bla2="2" data-bla3="true" data-bla4="bla1" data-bla5="2" data-bla6="true" data-bla7="bla1" data-bla8="2" data-bla9="true"/>
<widget id="widget4" data-args="event1, event2, data,event4, event5, data3, event6, event7, data7"/>
var params = {};
var json = {
bla1: Math.random(),
bla2: Math.random(),
bla3: Math.random()
};
function trim(str) {
return str.trim();
}
function getParams(param) {
return param.indexOf('arg-') !== -1;
}
var widget1 = $('#widget1'),
widget2 = $('#widget2'),
widget3 = $('#widget3');
widget1.find('param').each(function(i, elem) {
$(elem).attr('name', Math.random())
});
widget2.data('args', JSON.stringify(json).replace(/\"/g, "'"));
widget3[0].setAttribute('data-bla1', Math.random());
widget3[0].setAttribute('data-bla2', Math.random());
widget3[0].setAttribute('data-bla3', Math.random());
Ready to run.
Test | Ops/sec | |
---|---|---|
dom params |
| ready |
native dom |
| ready |
JSON |
| ready |
data attr |
| ready |
data-args |
| ready |
native dom1 |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.