speed: committing a failing experiment of concat vs slice
This commit is contained in:
parent
26eda09892
commit
6a85898d13
46
speed/slice.vs.concat.html
Normal file
46
speed/slice.vs.concat.html
Normal 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>
|
Loading…
Reference in a new issue