News for hackers. Stuff that matters.
Re:How we’ve made Raptor fast by triskweline on Monday November 10, 2014 @11:57AM (#8584642)
Spoiler: Insane amounts of low-level optimization.
Re:How we’ve made Raptor fast by film42 on Monday November 10, 2014 @07:51PM (#8587626)
Actually, everything was pretty simple: Use libev since it's faster than libevent, use Node's http parser because it's fast. Then allow each thread in the pool to run its own event loop. This pretty much sums up my university's Internet Programming course. There were few hairy bits about tcmalloc, but they did a great job about explaining how they took advantage of object pooling and region-based memory management. Great post guys, I can't wait to give your source a read :)
Re:How we’ve made Raptor fast by yazaddaruvala on Monday November 10, 2014 @07:57PM (#8587646)
Any idea why they didn't use libuv instead?
Re:How we’ve made Raptor fast by film42 on Monday November 10, 2014 @08:03PM (#8587672)
I haven't seen any benchmarks comparing the two, but Node first used libev, and then the team created libuv out of a need to support Windows, because libev is unix only.

Actually, it's all in this about page: http://nikhilm.github.io/uvbook/introduction.html

Re:How we’ve made Raptor fast by nteon on Monday November 10, 2014 @09:43PM (#8587994)
I would have loved to see some data that showed their bump pointer regions and thread local stuff performing significantly better than tcmalloc or jemalloc, both of which do thread-local caching that avoids locks for the vast majority of allocations. Additionally, what they came up with sounds like talloc[1], which has been in production for years with samba.

1 - http://talloc.samba.org/talloc/doc/html/index.html