A maneira mais rápida de converter JavaScript NodeList para Array?

As perguntas anteriormente respondidas aqui disseram que esse era o caminho mais rápido:

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

Nos testes comparativos no meu navegador, descobri que é mais de três vezes mais lento que isso:

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

Ambos produzem a mesma saída, mas acho difícil acreditar que minha segunda versão seja a maneira mais rápida possível, especialmente porque as pessoas disseram o contrário aqui.

Isso é uma peculiaridade no meu navegador (Chromium 6)? Ou existe uma maneira mais rápida?

EDIT: Para quem se importa, decidi o seguinte (que parece ser o mais rápido em todos os navegadores que testei):

//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: Encontrei uma maneira ainda mais rápida

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

questionAnswers(12)

yourAnswerToTheQuestion