concat or join?

Benchmark created by clint on


Preparation HTML

<script>
  var arrrrr = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "100"];
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
concat
var result = '';
for (var i = 0; i < arrrrr.length; i++) result += ' ' + arrrrr[i];
var r = result.slice(1);
ready
join
var result = [];
for (var i = 0; i < arrrrr.length; i++) result.push(arrrrr[i]);
var r = result.join(' ');
ready
nastier concat
if (arrrrr.length > 0) {
 var result = arrrrr[0];
 for (var i = 1; i < arrrrr.length; i++) result += ' ' + arrrrr[i];
}
else {
 var result = '';
}
ready

Revisions

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