https://github.com/django/django
https://github.com/mopemope/meinheld
So django meinheld is basically saying that i used Django served by meinheld in that benchmark.
169 karma · joined November 8, 2022
https://github.com/django/django
https://github.com/mopemope/meinheld
So django meinheld is basically saying that i used Django served by meinheld in that benchmark.
The benchmarks are TechEmPower plaintext https://github.com/TechEmpower/FrameworkBenchmarks
preliminary results here: https://www.techempower.com/benchmarks/#section=test&runid=1...
Web developer dont care if the framework is written in native or it is an wrapper, developers just want something that works in a nice way :D
The benchmarks are in https://github.com/TechEmpower/FrameworkBenchmarks
EDIT: some preliminary results https://www.techempower.com/benchmarks/#section=test&runid=1...
https://www.techempower.com/benchmarks/#section=test&runid=1...
The focus of socketify is PyPy not because it allows for more CPU-intensive workloads, but because it also allows removing a lot of overhead of CPython itself!
The performance targets for ASGI with CPython were the same as uvicorn for ASGI and meinheld for WSGI, and I am happy to say that we got it to be faster in most cases and at least on pair in the worst case! Socketify ASGI 541,645 vs uvicorn 337,265 in CPython every single framework got a performance boost in WSGI and/or ASGI.
Falcon is the only one that is a little bit faster in WSGI with meinheld using CPython but socketify WSGI managed to get into the same ballpark of performance.
Using with PyPy we are the fastest ASGI and WSGI in all scenarios with a HUGE margin.
Falcon manage to pass the 1 million requests/s mark, and Flask and Django are faster than ever socketify WSGI,
FastAPI from 165k using uvicorn + gunicorn goes to 423k using socketify ASGI with PyPy
Emmett from 208k using uvicorn + gunicorn goes to 558k using socketify ASGI with PyPy
Falcon is the ASGI champion in throughput with 625k requests/s
More realistic benchmarks will come soon, keep an watch in the github project ;)
P.S. Vibora is not alive unfortunately last commit was in 2019 and last release branch in 2018 :/ but someone just put Vibora in TechEmPower this year.
I will take a deep look on your project thanks for sharing!
It also show that PyPy3 will not magically boost your performance, you need to integrate in a manner that PyPy3 can optimize and delivery CPU performance, with a more complex example maybe it can help more. But why socketify is so much faster using PyPy3? The answer is CFFI, socketify did not use Cython for integration and cannot delivery the full performance on Python3, this will be solved with HPy.
Also we can see that the Cython + meinheld (that is builded with C) are WAY faster than other options of falcon, but you will not get an optimized JIT for all python code that you write in a real life project.
HTTP pipelining is buggy and not really supported by browsers, the technique was superseded by multiplexing via HTTP/2, which is supported by most modern browsers, TechEmPower don't test HTTP/2 or HTTP/3.
In HTTP/3, multiplexing is accomplished via QUIC which replaces TCP. This further reduces loading time, as there is no head-of-line blocking even if some packets are lost.
Supporting HTTP/2 and HTTP/3 is way more important than winning TechEmPower HTTP/1.1 benchmarks, this only means you need to take any benchmark with a grain of salt, and run bencharks in an more close to reality scenario by our self, Caching strategy, Bandwidth, Latency, CPU time, Memory, all are relevant and not really tested here.