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>
var number = 343535353.53880934, v;
ui.events.start.push( function(){
console.log('\n\n Testing start, number='
+ number+'\n\n' ) } )
for( var i=0, tcase; tcase=ui.benchmarks[i]; i++ )
{
if(window.console) tcase.events.complete=[
function(){
this.funcReturn = v;
console.log( '== test #'+ this.id
+ ' ('+ this.name + ') complete'
+ ', v= '+ v
)
}
]
}
ui.events.complete.push(
function(){
console.log('\n\n Result:\n' );
var tcases = ui.benchmarks;
var out= Array( tcases.length );
for( var i=0, tcase; tcase=tcases[i]; i++ )
{
console.log( tcase.name + ' = '
+ tcase.funcReturn + ', ops/sec= '
+ commafy( (''+tcase.hz).replace(/^\s*/,'')).split('.')[0]
)
}
}
)
function parts(num){
var s = num + '', i = s.length, bits = [], cur = '';
while(i--){
cur = s.charAt(i) + cur;
if(cur.length === 3 || i === 0){ bits.unshift(cur); cur = ''; }
}
return bits.join(',');
}
function commafy( num){
var parts = (''+num).split("."), s=parts[0], i=L= s.length, o='',c;
while(i--){ o = (i==0?'':((L-i)%3?'':','))
+s.charAt(i) +o }
return o+'.'+parts[1]
}
function myCommafy(num){
var s = num + '', i = l = s.length, res = '';
while(i--){
res = (i == 0 ? '' : (l - i) % 3 ? '' : ',') + s.charAt(i) + res;
}
return res;
}
</script>
Ready to run.
Test | Ops/sec | |
---|---|---|
commafy |
| ready |
parts |
| ready |
my commafy |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.