Una domanda veloce solo. Ho creato il benchmark (link sotto), e per me almeno (con chrome 18.0.1025), leggere i valori dalla parte anteriore di un array usando array.shift() ogni volta sembra notevolmente più veloce della lettura dei valori usando un while/for loop e accedendoli per indice.Javascript: Perché questo benchmark mostra array.shift() per essere molto più veloce dell'array [i] durante la lettura dei valori da un array?
Sono sicuro che questo non può essere corretto, in quanto shift() ha molto più lavoro da fare, ma allo stesso tempo non riesco a vedere cosa avrei potuto fare di sbagliato per spiegare questa differenza piuttosto estrema?
http://jsperf.com/some-array-reading-comparisons
Grazie per la lettura, James
Per correttezza è necessario copiare la matrice per quelli che utilizzano anche l'indice. – kennytm
Vero. La suite di test è stata aggiornata, 'shift' è ancora in ordine per ultimo. – lanzz
Grazie, quello era il mio primo sospetto. Avevo l'impressione che il codice di installazione fosse eseguito prima di ogni iterazione, piuttosto che appena prima di ogni test :) – jsdw