concat vs + vs join (v55)

Revision 55 of this benchmark created on


Setup

var words3 = ['Coucou ', 'c\'est ', 'nous !'];
  var words21 = ['Coucou ', 'c\'est ', 'nous !', 'c\'est ', 'nous !', 'c\'est ', 'nous !', 'c\'est ', 'nous !', 'c\'est ', 'nous !', 'c\'est ', 'nous !', 'c\'est ', 'nous !', 'c\'est ', 'nous !', 'c\'est ', 'nous !', 'c\'est ', 'nous !'];
  
  var arr = new Array(100);

Test runner

Ready to run.

Testing in
TestOps/sec
concat (3)
'Coucou '.concat('c\'est ', 'nous !');
ready
+ (3)
'Coucou ' + 'c\'est ' + 'nous !';
ready
join (3)
['Coucou ', 'c\'est ', 'nous !'].join('');
ready
join 2 (3)
words3.join('');
ready
concat (21)
'Coucou '.concat('c\'est ', 'nous !', 'c\'est ', 'nous !', 'c\'est ', 'nous !', 'c\'est ', 'nous !', 'c\'est ', 'nous !', 'c\'est ', 'nous !', 'c\'est ', 'nous !', 'c\'est ', 'nous !', 'c\'est ', 'nous !', 'c\'est ', 'nous !');
ready
+ (21)
'Coucou ' + 'c\'est ' + 'nous !' + 'c\'est ' + 'nous !' + 'c\'est ' + 'nous !' + 'c\'est ' + 'nous !' + 'c\'est ' + 'nous !' + 'c\'est ' + 'nous !' + 'c\'est ' + 'nous !' + 'c\'est ' + 'nous !' + 'c\'est ' + 'nous !' + 'c\'est ' + 'nous !';
ready
join (21)
['Coucou ', 'c\'est ', 'nous !', 'c\'est ', 'nous !', 'c\'est ', 'nous !', 'c\'est ', 'nous !', 'c\'est ', 'nous !', 'c\'est ', 'nous !', 'c\'est ', 'nous !', 'c\'est ', 'nous !', 'c\'est ', 'nous !', 'c\'est ', 'nous !'].join('');
ready
join 2 (21)
words21.join('');
ready
+ (nonsequential)
var a = '';
for (var i = 0; i < 100; i++) {
  a += i;
}
ready
join (nonsequential)
for (var i = 0; i < 100; i++) {
  arr[i] = i;
}
arr.join('');
ready
join concat (nonsequential)
var a = [];
for (var i = 0; i < 100; i++) {
  a.concat([i]);
}
a.join('');
ready

Revisions

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