

JavaScript – Array Direct Assignment - suhair
http://suhairhassan.com/2013/06/02/real-world-javascript-part-3.html

======
marijn
See also this benchmark, which seems to have very different results from the
scottlogic link: <http://jsperf.com/array-push-vs-array-length23333/2>

I just re-ran it on FF24 (nightly), and also saw results where .push beats
this kludge.

So before everyone runs off and takes 'direct array assignment is fast' as a
rule of thumb, please consider that it quite probably isn't.

~~~
hayksaakian
Also faster in most versions of chrome

------
rjett0
I prefer readable code to hacks. Unless you absolutely have a hot spot in your
code that will benefit, readability should outweigh this. JavaScript engines
will catch up.

------
jfaucett
after reading the underscore source I remember wondering if direct array
assignment was really significantly better than calling push. here's a quick
link to the perf reference made in the article:
[http://www.scottlogic.co.uk/2010/10/javascript-array-
perform...](http://www.scottlogic.co.uk/2010/10/javascript-array-
performance/), oddly interesting is that calling push was faster in chrome
than in direct assignment. I wonder what the results would be like in newer
browsers...

~~~
suhair
Direct assignment without using the calculated length property performs way
ahead than others, at least in chrome <http://jsperf.com/array-direct-
assignment-vs-push/3>

~~~
willurd
Wow, direct assignment is an order of magnitude faster than push (in my test,
chrome 27 on windows 7). Can anyone explain why?

~~~
mischanix
Direct assignment is the only test in which the length of array doesn't
change.

