Arrays of Wisdom of the Ancients

January 24, 2016

A fascinating deep-dive into toArray(new T[0]) vs. toArray(new T[size]) by Aleksey Shipilëv:

Performance suggestions are funny things. Their shelf life is limited, especially if you do not understand the background for them and don’t bother to track how the world evolves. Their applicability is frequently questionable, and many suggestions do not have a track to verify the experimental results. That’s why, if you really want peak performance, you have to allocate a dedicated set of persons who are well-versed in vetting the performance advice for you.

But, most of the time, the straight-forward code is fast enough, so stop philosophizing about angels on the head of a pin, and get back to work. 99.9% of applications do not need a dedicated team of performance engineers; they need instead for their developers to focus on writing clear, maintainable code, and a little bit of measurement and tuning to file off the rough edges when the code fails to meet the performance requirements.


Written by Jonathan Ruckwood, a cloud-native consultant based in London. You can find him on GitHub and Twitter or contact by email.