Schnellste Möglichkeit, JavaScript NodeList in Array zu konvertieren?

Vorhergehend beantwortete Fragen hier besagten, dass dies der schnellste Weg war:

//nl is a NodeList
var arr = Array.prototype.slice.call(nl);

eim Benchmarking in meinem Browser habe ich festgestellt, dass es mehr als dreimal langsamer ist:

var arr = [];
for(var i = 0, n; n = nl[i]; ++i) arr.push(n);

Sie produzieren beide die gleiche Ausgabe, aber ich finde es schwer zu glauben, dass meine zweite Version der schnellste Weg ist, zumal die Leute hier etwas anderes gesagt haben.

Ist das eine Eigenheit in meinem Browser (Chrom 6)? Oder gibt es einen schnelleren Weg?

EDIT: Für jeden, der sich interessiert, habe ich Folgendes festgelegt (das scheint das schnellste in jedem Browser zu sein, den ich getestet habe):

//nl is a NodeList
var l = []; // Will hold the array of Node's
for(var i = 0, ll = nl.length; i != ll; l.push(nl[i++]));

EDIT2: Ich habe einen noch schnelleren Weg gefunden

// nl is the nodelist
var arr = [];
for(var i = nl.length; i--; arr.unshift(nl[i]));

Antworten auf die Frage(24)

Ihre Antwort auf die Frage