Hacker News new | ask | show | jobs
by superjared 6110 days ago
I love Erlang--don't get me wrong--but this is flawed. He uses Tornado on a system that doesn't have epoll() so it uses select() instead, and then the author continues to show how Tornado will fail at higher concurrency levels. This is not a problem with Tornado but with select. I imagine that Erlang will still generally rout Tornado when using epoll, just not as significantly.
1 comments

Tornado failing at high levels was a secondary point. The main point was the performance. I have serious doubts as to whether epoll would make a significant difference there, but I'd love to see someone making the claim prove it.
In fact epoll was created specifically because select does not scale well. That is, if you have lots of open connections, and an event happens on one of them you have to iterate all the file descriptors to see which one was active.

With epoll, only those descriptors are returned which were active. With 8000/s (as in the tests) this really makes a significant difference.