В гугловском javascript`е (в Chrome который) при проверке в 100000 цикле на массиве из 2 элементов нативный Array.join() работает в несколько раз медленнее, чем:
Array.prototype.join = function(value){
var result = '', a;
for(a=0; a<this.length; a++)
result += this[a] + (a == this.length - 1 ? '' : value);
return result;
}
P.s. Справедливо только для массивов со строками длиннее 8 символов. С 7 символами, например, нативный справляется шустрее, тогда как с 8 уже лососает. Плюс к тому, изменённая функция лучше справляется с меньшим размером массива, но там разница несущественна.
Боюсь предположить, чем вызван сей факт.