Hacker News new | past | comments | ask | show | jobs | submit login

I'm curious as to why the author hasn't referenced nginx, which is written also event based (epoll/kqueue) and written in C.



I've used nginx a lot. So I guess that's why I don't see the overlap.

Nginx is not tornado in c. Its not about complex custom logic, its about rules redirects and caching.


Probably because is much slower than nginx, C++ adds extra "fat" that nginx (writen in C) doesn't have.


Not sure about C++ overhead there. C++ often edges out C in the alioth benchmarks. More to the point, I highly doubt the author's parser ("parser") in http.cpp is faster than the one in nginx, which really is a thing of beauty.

http://trac.nginx.org/nginx/browser/nginx/trunk/src/http/ngx...


I really love the trick for efficiently reading 4 chars and checking them out of a string. I like it so much I've been working towards making it happen automatically on PyPy so if you write something like:

    if buf[i:i+4] == "POST":
the JIT automatically turns that into a MOVL + CMP + JMP. The magic of high level languages :)


This is so verbose, it must have been rewritten for performance so many times :)


If its faster than nginx, Igor just removes some sleep() calls.


Not sure that matters much.. the code style is very C/C++. (e.g. using stdio instead of iostreams, malloc/free instead of new/delete, no STL)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: