HttpArena
Comparisons

Web framework comparison: any two entries, any language

uWebSockets.js is quicker than bun on 12 of the 23 profiles they both run, and behind on 11. On the HTTP/1.1 composite they score 790 and 774.

Pick any two of the 153 entries, in any language - the picker is grouped by language, and the two sides do not have to match. Requests per second is the best of three runs and the delta is the first column against the second; every row is the same profile at the same connection count, on the same machine. What each profile measures.

ProfileConnsbun req/secuWebSockets.js req/secDeltabun p99uWebSockets.js p99
Baseline5121,776,2352,469,186-28%823us537us
Baseline4,0961,907,8362,515,762-24%3.78ms3.05ms
Pipelined51289,36017,140,524-99%35.30ms1.15ms
Pipelined4,096340,16917,252,905-98%224.60ms5.14ms
Short-lived5121,383,3331,860,291-26%1.65ms1.01ms
Short-lived4,0961,638,1402,154,292-24%8.92ms7.27ms
JSON4,0961,118,5841,101,706+2%10.30ms11.10ms
JSON Comp512431,226329,843+31%5.13ms7.59ms
JSON Comp4,096464,736348,360+33%21.20ms33.50ms
JSON Comp16,384468,757348,574+34%59.50ms105.40ms
JSON TLS4,0961,088,3571,075,479+1%62.79ms65.13ms
Upload321,9093,084-38%98.00ms47.60ms
Upload2561,9963,155-37%876.30ms290.70ms
Static1,024215,179219,151-2%42.17ms45.94ms
Static4,096213,004235,182-9%123.40ms80.29ms
Static6,800208,757232,151-10%176.51ms106.13ms
Static TLS1,024226,759206,093+10%39.90ms41.86ms
Static TLS4,096222,599193,575+15%211.97ms118.55ms
Static TLS6,800220,725190,596+16%334.45ms239.46ms
Async DB1,024278,613218,008+28%16.80ms24.40ms
CRUD4,096310,372357,544-13%24.80ms21.20ms
API-425643,98033,935+30%23.50ms30.70ms
API-161,024154,060126,936+21%30.20ms47.70ms

Common comparisons

bun vs uWebSockets.js · bun vs actix · bun vs aspnet-minimal-ioxide · uWebSockets.js vs actix · uWebSockets.js vs aspnet-minimal-ioxide · actix vs aspnet-minimal-ioxide

Questions

Is bun faster than uWebSockets.js?

uWebSockets.js is quicker than bun on 12 of the 23 profiles they both run, and behind on 11. On the HTTP/1.1 composite they score 790 and 774. Both run on the same machine, in the same round, against the same profiles.

Is bun faster than actix?

bun is quicker than actix on 14 of the 23 profiles they both run, and behind on 9. On the HTTP/1.1 composite they score 790 and 707. Both run on the same machine, in the same round, against the same profiles.

Is bun faster than aspnet-minimal-ioxide?

bun is quicker than aspnet-minimal-ioxide on 10 of the 20 profiles they both run, and behind on 10. On the HTTP/1.1 composite they score 790 and 693. Both run on the same machine, in the same round, against the same profiles.

Is uWebSockets.js faster than actix?

uWebSockets.js is quicker than actix on 17 of the 23 profiles they both run, and behind on 6. On the HTTP/1.1 composite they score 774 and 707. Both run on the same machine, in the same round, against the same profiles.

Which framework is fastest overall?

genhttp-11-ioxide holds the highest HTTP/1.1 composite of the entries it ranks, at 961. The composite is throughput over the whole suite; if a service is one shape of workload, compare that profile on its own in the table above, because the order changes.

Can I compare frameworks written in different languages?

Yes - that is what this page is for. Every entry runs the same profiles on the same machine, so an F# entry and a C# one are measured the same way and the numbers line up. The per-language pages under Comparisons narrow the same table to one language when that is the choice you are making.

Results updated · One language at a time · Every entry, one page each · Open the leaderboard