bench result
- Chrome 30 で A = B*3
- Firefox 22 で A = B
function A(obj, i) {
var rv = Array.apply(null, obj);
rv.push(i);
}
function B(obj, i) {
var rv = Array.prototype.slice.call(obj);
rv.push(i);
}
function test1() {
var now = Date.now();
var array1 = [];
for (var i = 0; i < 10000; ++i) {
array1.push(i);
A(array1);
}
console.log("tick1: " + (Date.now() - now));
}
function test2() {
var now = Date.now();
var array2 = [];
for (var i = 0; i < 10000; ++i) {
array2.push(i);
B(array2);
}
console.log("tick2: " + (Date.now() - now));
}
Date.now() % 2 ? (test1(), test2()) : (test2(), test1());