Benchmark : différence de rapidité entre new Array() et []
Bonjour à tous
Un jour j'avais lu que new Array() était plus rapide que [].
Hier, j'ai lu que [] était plus rapide que new Array()...
J'ai donc décidé de créer un benchmark :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
<script type="text/javascript">
function benchmark() {
var temps=new Date();
var nb_test=100000;
for(var j=1;j<10;j++) {
var t=null;
var w=Math.round(nb_test/j);
document.write('<strong>'+w+' test :</strong><br>');
for(var i=0;i<w;i++) {
t=new Array();
}
var temps2=new Date();
for(var i=0;i<w;i++) {
t=[];
}
var temps3=new Date();
document.write( temps2.getTime()-temps.getTime() +' ms (Array)<br>');
document.write( temps3.getTime()-temps2.getTime() +' ms ([])<br><br>');
}
}
benchmark();
</script> |
J'ai fait ça rapidement...
Et j'obtiens ces résultats :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
20000 test :
953 ms (Array)
28 ms ([])
16667 test :
1013 ms (Array)
24 ms ([])
14286 test :
1063 ms (Array)
21 ms ([])
12500 test :
1156 ms (Array)
18 ms ([])
11111 test :
1195 ms (Array)
16 ms ([]) |
Je trouve ça néanmoins très surprenant au niveau des résultats obtenus pour l'utilisation de new Array().
Mon benchmark serait-il mauvais?
Merci d'avance pour vos réponses =)
PS : un lien pour tester le benchmark directement : http://1boa.info/benchmark.htm