speed: committing a failing experiment of concat vs slice

1.7/enhancement_8685
Ariel Flesler 2009-07-24 00:57:27 +00:00
parent 26eda09892
commit 6a85898d13
1 changed files with 46 additions and 0 deletions

View File

@ -0,0 +1,46 @@
<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>