The other blog post that appeared on HN this week sums it out [1].
For those who didn't read that post, basically, if you want the performance of C, you have to make those data as static and inflexible, i.e. use types and avoid indirection. Looking at the KL used in benchmark, you may find that it resembles C code. It's exactly what they did to make it fast: types and free from indirection.
[1]: http://blog.mrale.ph/post/12396216081/the-trap-of-the-perfor...
[2]: https://github.com/fabric-engine/Benchmarks/blob/master/Serv...