Hellepoll
Infrastructure
http server
SHOW HN2011
35points
28comments
#339of 1,097 in 2011
Top 31%of 2011 by points
How HN took it
CuriousMostly questions and neutral comments
0 positive, 6 neutral or asking, 0 mixed, 5 critical, out of 11 comments about the project. Thread score -0.30.
Performance: 0 for, 3 againstExecution: 0 for, 2 against
The thread, comment by comment
Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.
positive neutral or mixed critical about another commenter or something else the maker
What HN said
What people liked
Interesting performance-focused design
From 2 comments
Cool stuff. I assume you wrote this for your own personal gratification and not to compete with Nginx or something. What was the coolest thing you learned in putting this together?
k33n on HNRight, there is indeed a mode switch to read/write from/to the tcp buffer or accept a connection. Luckily mode switches are not context switches - which are typically massively…
willvarfar on HN
Objections
Benchmarks measure requests per second rather than replies per second
From 2 comments
I believe you are testing the requests / sec and not replies / sec. While requests / sec matters a bit, you'll most probably be bottle-necking in your context switches. What…
kqueue on HNMeasuring requests per second is close to measuring the number of accept system calls you can do. Since it's a system call you have a context switch.
kqueue on HN
C++ overhead makes it slower than nginx
From 1 comment
Probably because is much slower than nginx, C++ adds extra "fat" that nginx (writen in C) doesn't have.
givan on HN
Extern C block wrapping of headers is incorrect
From 1 comment
You should not be #include-ing headers inside of an extern "C" block. It is up to those headers to: ``` #ifdef __cplusplus extern "C" { #endif ```
apaprocki on HN
Requests
Compare against libevent evhttp or other servers
From 1 comment
How does it compare to libevent evhttp server? Besides being written in C++...
pilooch on HN
Questions
Why not compare with nginx
From 1 comment
I'm curious as to why the author hasn't referenced nginx, which is written also event based (epoll/kqueue) and written in C.
tewks on HN
What was the coolest thing learned building it
From 1 comment
Cool stuff. I assume you wrote this for your own personal gratification and not to compete with Nginx or something. What was the coolest thing you learned in putting this together?
k33n on HN
Alternatives named
nginx
From 1 comment
I'm curious as to why the author hasn't referenced nginx, which is written also event based (epoll/kqueue) and written in C.
tewks on HN
ULib
From 1 comment
ULib is a mature and well-considered C++ framework for developing high-performance applications that includes a blazingly-fast async HTTP server--more batteries included.…
enduser on HN
libevent evhttp
From 1 comment
How does it compare to libevent evhttp server? Besides being written in C++...
pilooch on HN
libev
From 1 comment
Network IO, Disk IO, scheduling, locks etc.. all trigger context switches and not only mode switch because only the kernel is allowed to manipulate data structures related to…
kqueue on HN