Bun is killing it
I ran a new basic benchmark of WebSocket echo perf. for all the latest runtimes as of today, and the conclusion should be as obvious as the sun:
<img width="600" height="371" alt="Image" src="https://github.com/user-attachments/assets/89050bde-90d7-494d-8118-71eb6dbf2272" />
It is staggering how slow Node.js 26 is, and how little (if anything) their "optimization" work has moved the needle over the last decade. Meanwhile, Bun now beats our native addon by a wide margin since we are limited to this node::MakeCallback async hook nonsense.
It's easy to now wonder - what is even the point of **uWS.js for Node.js** if we cannot even be best at one single use case? Clearly, the trend is towards Bun, and rightfully so. Bun is a platform that widely embraces perf. engineering and reaches a proper result.
Also, it's based on forks of uWS itself, so we're basically just battling a better utilized variant of our own code.
uWS.js for Node.js has to embrace a "enterprise" stance and focus more on enterprise support for the existing dinosaurs that cannot move from Node.js (and yes, Bun is still quite unstable). We are not the fastest JS server and we cannot even try to be that, since Node.js native addons are required to go through node::MakeCallback and other such bottlenecks.
The Node.js devs have never understood perf. engineering and none of their work is going to improve any of this. I said it 10 years ago and now we have absolute proof that their work is, well, crap in comparison to finely tuned excellence.
This is good. The world needs this change.
关闭于 2026-06-04 13 条评论