picohttpparser
openonload
picohttpparser | openonload | |
---|---|---|
3 | 1 | |
1,785 | 233 | |
0.6% | - | |
4.2 | 10.0 | |
2 months ago | over 1 year ago | |
C | C | |
- | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
picohttpparser
- Ask HN: Resources for Building a Webserver in C?
-
Linux Kernel vs. DPDK: HTTP Performance Showdown
Yea, it is definitely a fake HTTP server which I acknowledge in the article [1]. However based on the size of the requests, and my observation of the number of packets per second being symmetrical at the network interface level, I didn't have a concern about doubled responses.
Skipping the parsing of the HTTP requests definitely gives a performance boost, but for this comparison both sides got the same boost, so I didn't mind being less strict. Seastar's HTTP parser was being finicky, so I chose the easy route and just removed it from the equation.
For reference though, in my previous post[2] libreactor was able to hit 1.2M req/s while fully parsing the HTTP requests using picohttpparser[3]. But that is still a very simple and highly optimized implementation. From what I recall when I played with disabling HTTP parsing in libreactor I got a performance boost of about 5%.
1. https://talawah.io/blog/linux-kernel-vs-dpdk-http-performanc...
2. https://talawah.io/blog/extreme-http-performance-tuning-one-...
3. https://github.com/h2o/picohttpparser
-
JS faster than Rust?
Just-js is not nodejs framework. It's sperate runtime and most of the http code is written using c/c++ (for example headers parsing logic is written using c and is using https://github.com/h2o/picohttpparser which is c library)
openonload
What are some alternatives?
ntex - framework for composable networking services
onload - OpenOnload high performance user-level network stack
just - the only javascript runtime to hit no.1 on techempower :fire:
liburing
seastar - High performance server-side application framework
epoll-server - C code for multithreaded multiplexing client socket connections across multiple threads (so its X connections per thread) uses epoll
libreactor - Extendable event driven high performance C-abstractions
nanos - A kernel designed to run one and only one application in a virtualized environment
websrv - A simple C web service and REST framework