oha
socketify.py
Our great sponsors
oha | socketify.py | |
---|---|---|
3 | 38 | |
3,665 | 1,250 | |
- | - | |
9.3 | 7.7 | |
7 days ago | about 2 months ago | |
Rust | Python | |
MIT License | MIT License |
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.
oha
-
A Look on Python Web Performance at the end of 2022
I pick uvicorn, falcon and robyn for comparison using oha using 40 concurrent requests for 5s, running 1 time for warmup and getting an average of 3 runs, just sending back an "Hello, World!" message.
-
A First Look at Bun: Will It Take Node’s Crown?
Bun’s runtime does include a working HTTP server, which presents a benchmarking opportunity to compare with Node and Deno. For the test, I’ll use Bun’s example scripts to drive the tests. I'll generate and measure traffic with oha.
socketify.py
-
[Guide] A Tour Through the Python Framework Galaxy: Discovering the Stars
Try BlackSheep | Kore | socketify | baize
-
Show HN: Python framework is faster than Golang Fiber
I'm reading some arguments and counter-arguments in this thread, and in my opinion it kinda boils down to what point of view you're having.
If you look at it as a framework that minimises the networking overhead, then fine, it's an interesting piece of software.
If on the other hand you look at it like a "fast" web framework then things start to change and the discussion gets a bit more complicated.
So for example, you look at the source code of the applications being benchmarked (example: https://github.com/cirospaciari/socketify.py/blob/main/bench...) and you immediately see it's simply returning the string "hello world"). Which means that it's almost 100% of the time running in the fast path / best case.
My guess is that as soon as you start doing any kind of computation in the request handler in normal non-super-optimized python (trival example: validating some headers and/or checking some signatures as you would do with jwt tokens for example) then the python-vs-golang gap will start to go back to favour golang.
And then again, it boils down to what you're doing: anything io-intensive might benefit from the unetworking/uwebsocket beneath, anything cpu-intensive will benefit from the golang compiler producing native executable code.
Nice work anyways.
These "benchmarks" are useless, they're not testing anything real world except the performance of uWebsockets.
There are copy errors all over the place. And then an advertisement: https://github.com/cirospaciari/socketify.py#briefcase-comme...
Is this a professional framework that produces proper, real-world benchmarks and copy-edits its documentation? Doesn't seem like it.
When I see that: https://github.com/cirospaciari/socketify.py/blob/main/bench...
It's kind of hopeless, Python still needs to fork per core to get any performance? So if you have 8 cores you're actually running 8 processes, so 8 DB pool etc ...
Yeah i have a lot of things to do, to minimize this types of things. But Caching Tools that never cross GIL will boost a lot of performance in real life scenarios too. See https://github.com/cirospaciari/socketify.py/issues/60
-
This is how I started the development of the fastest ASGI and WSGI Server in TechEmPower Benchmarks
After starting the project called socketify.py at https://github.com/cirospaciari/socketify.py, I got pretty good results and reviews, but many people asked if socketify.py could be used to create a WSGI and ASGI server. WSGI and ASGI have a lot of overhead, that's is why I choose not to use them in the first place, but adding an ASGI and WSGI server allows a lot of code already written to run faster!
-
New record breaking for Python in TechEmPower
Project: https://github.com/cirospaciari/socketify.py Source: https://www.techempower.com/benchmarks/#section=test&runid=124fd2af-3030-4315-8876-e1db1fa91193&test=plaintext&l=hra0hr-35r
- Show HN: Record breaking performance for Python, 6.2 mi req/s in TechEmPower
What are some alternatives?
bun - Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one
BlackSheep - Fast ASGI web framework for Python
japronto - Screaming-fast Python 3.5+ HTTP toolkit integrated with pipelining HTTP server based on uvloop and picohttpparser.
Robyn - Robyn is a High-Performance, Community-Driven, and Innovator Friendly Web Framework with a Rust runtime.
µWebSockets - Simple, secure & standards compliant web server for the most demanding of applications
vibora - Fast, asynchronous and elegant Python web framework.
psat_exercise_code - pulsar summit asia workshop execise code
pulsar-recipes - A StreamNative library containing a collection of recipes that are implemented on top of the Pulsar client to provide higher-level functionality closer to the application domain.
hpy - HPy: a better API for Python
piccolo - A fast, user friendly ORM and query builder which supports asyncio.
semaphore-demo-javascript - A Semaphore demo CI/CD pipeline using Node.js, TypeScript, Nest.js and React.
watchbind - A cli menu for periodically watching a program's output and executing commands on its lines through keybindings