optimized array join

Benchmark created by asd on


Setup

var strings = [];

Test runner

Ready to run.

Testing in
TestOps/sec
200 +=
var a = '';
for(var j = 0; j < 200; j++) a += Math.random().toString();
strings.push(a);
 
ready
200 Normal [].join
var a = [];
for(var j = 0; j < 200; j++) a.push(Math.random().toString());
strings.push(a.join(""));
ready
200 Optimized [].join
var a = new Array(200);
for(var j = 0; j < 200; j++) a[j] = Math.random().toString();
strings.push(a.join(""));
ready
20 +=
var a = '';
for(var j = 0; j < 20; j++) a += Math.random().toString();
strings.push(a);
 
ready
20 Normal [].join
var a = [];
for(var j = 0; j < 20; j++) a.push(Math.random().toString());
strings.push(a.join(""));
ready
20 Optimized [].join
var a = new Array(20);
for(var j = 0; j < 20; j++) a[j] = Math.random().toString();
strings.push(a.join(""));
ready
2 +=
var a = '';
a += Math.random().toString();
a += Math.random().toString();
strings.push(a);
 
ready
2 Normal [].join
var a = [];
a.push(Math.random().toString());
a.push(Math.random().toString());
strings.push(a.join(""));
ready
2 Optimized [].join
var a = new Array(2);
a[0] = Math.random().toString();
a[1] = Math.random().toString();
strings.push(a.join(""));
ready
1 +=
var a = '';
a += Math.random().toString();
strings.push(a);
 
ready
1 Normal [].join
var a = [];
a.push(Math.random().toString());
strings.push(a.join(""));
ready
1 Optimized [].join
var a = new Array(1);
a[0] = Math.random().toString();
strings.push(a.join(""));
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.