Skip to content

Commit

Permalink
speed: committing a failing experiment of concat vs slice
Browse files Browse the repository at this point in the history
  • Loading branch information
flesler committed Jul 24, 2009
1 parent 26eda09 commit 6a85898
Showing 1 changed file with 46 additions and 0 deletions.
46 changes: 46 additions & 0 deletions speed/slice.vs.concat.html
Original file line number Diff line number Diff line change
@@ -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>

0 comments on commit 6a85898

Please sign in to comment.