46 lines
No EOL
842 B
HTML
46 lines
No EOL
842 B
HTML
<script type="text/javascript">
|
|
(function(){
|
|
// Conclusion: slice is a little faster except on Chrome
|
|
// clone() is slower on FF & IE but takes 50% on Safari & Chrome
|
|
|
|
var SIZE = 1e4,
|
|
LOOPS = 500;
|
|
|
|
var arr = new Array(SIZE);
|
|
for ( var i=arr.length-1; i >= 0; --i )
|
|
arr[i] = 0;
|
|
|
|
var t = new Date;
|
|
for ( i=0; i < LOOPS; i++ )
|
|
arr.slice(0);
|
|
var tslice = new Date - t;
|
|
|
|
t = new Date;
|
|
for ( i=0; i < LOOPS; i++ )
|
|
arr.concat();
|
|
var tconcat = new Date - t;
|
|
|
|
// clone() is just to see how fast built-ins are
|
|
t = new Date;
|
|
for ( i=0; i < LOOPS; i++ )
|
|
clone(arr);
|
|
var tclone = new Date - t;
|
|
|
|
alert([
|
|
'slice:'+tslice,
|
|
'concat:'+tconcat,
|
|
'clone:'+tclone
|
|
].join('\n'));
|
|
|
|
|
|
function clone(arr){
|
|
var i = arr.length,
|
|
copy = new Array(i);
|
|
|
|
while (i--)
|
|
copy[i] = arr[i];
|
|
|
|
return copy;
|
|
}
|
|
})();
|
|
</script> |