string concat vs array join

JavaScript performance comparison

Revision 27 of this test case created by

Preparation code


      
      <script>
Benchmark.prototype.setup = function() {
  var words = ['this', 'is', 'a', 'test'];
  
  var text = words[0];
  
  var a = [words[0]];
  var b = [];
  var i;
  
  var text2;

};
</script>

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in CCBot 2.0.0 / Other 0.0.0
Test Ops/sec
Concat
for (i = 1; i < 10000; ++i) {
  text += ' ' + words[i & 3] + Math.random();
}

text2 = text;
pending…
Join
for (i = 1; i < 10000; ++i) {
  a.push(' ', words[i & 3], Math.random());
}

text2 = a.join('');
pending…
Join without push()
for (i = 1; i < 10000; ++i) {
  a[i] = ' ' + words[i & 3] + Math.random();
}

text2 = a.join('');
pending…
Join without space concat
for (i = 1; i < 10000; ++i) {
  a[i] = words[i & 3] + Math.random();
}

text2 = a.join(' ');
pending…
Join without concat
for (i = 1; i < 20000; ++i) {
  a[i] = words[i & 3]
  a[++i] = Math.random();
}

text2 = a.join(' ');
pending…
"".concat
for (i = 1; i < 20000; i++) {
  a[i] = "".concat(words[i & 3], Math.random());
}

text2 = a.join(' ');
pending…

Compare results of other browsers

Revisions

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

0 Comments