mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
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 New Issue
Block a user