V web framework comparison: any two, head to head
vanilla-io_uring is quicker than vanilla-epoll on 14 of the 21 profiles they both run, and behind on 7. On the HTTP/1.1 composite they score 342 and 280.
Pick any two of the 5 V entries. 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.
| Profile | Conns | vanilla-io_uring req/sec | vanilla-epoll req/sec | Delta | vanilla-io_uring p99 | vanilla-epoll p99 |
|---|---|---|---|---|---|---|
| Baseline | 512 | 3,570,560 | 3,657,649 | -2% | 1.02ms | 583us |
| Baseline | 4,096 | 4,260,437 | 4,056,051 | +5% | 6.59ms | 6.58ms |
| Pipelined | 512 | 40,813,667 | 39,432,674 | +4% | 3.14ms | 3.30ms |
| Pipelined | 4,096 | 43,316,035 | 39,426,457 | +10% | 7.51ms | 7.85ms |
| Short-lived | 512 | 2,541,639 | 994,532 | +156% | 820us | 4.76ms |
| Short-lived | 4,096 | 2,624,809 | 990,366 | +165% | 2.03ms | 41.30ms |
| JSON | 4,096 | 2,438,927 | 2,109,538 | +16% | 6.78ms | 36.50ms |
| JSON Comp | 512 | 2,137,942 | 2,106,914 | +1% | 687us | 1.06ms |
| JSON Comp | 4,096 | 2,869,933 | 2,323,362 | +24% | 7.40ms | 38.30ms |
| JSON Comp | 16,384 | 2,764,973 | 2,342,652 | +18% | 17.20ms | 166.30ms |
| JSON TLS | 4,096 | 1,503,981 | 1,500,479 | +0% | 983.47ms | 1.03s |
| Upload | 32 | 2,673 | 2,960 | -10% | 45.40ms | 35.10ms |
| Upload | 256 | 3,043 | 3,009 | +1% | 293.50ms | 266.20ms |
| Static | 1,024 | 1,454,140 | 1,795,117 | -19% | 3.73ms | 4.53ms |
| Static | 4,096 | 1,360,862 | 1,784,103 | -24% | 7.12ms | 7.29ms |
| Static | 6,800 | 1,237,066 | 1,743,717 | -29% | 26.19ms | 61.21ms |
| Async DB | 1,024 | 281,205 | 271,730 | +3% | 6.67ms | 7.73ms |
| CRUD | 4,096 | 338,676 | 317,372 | +7% | 79.60ms | 75.80ms |
| Fortunes | 1,024 | 155,330 | 171,038 | -9% | 18.40ms | 12.10ms |
| API-4 | 256 | 67,864 | 64,469 | +5% | 17.90ms | 13.40ms |
| API-16 | 1,024 | 207,849 | 245,071 | -15% | 20.70ms | 14.80ms |
Common comparisons
vanilla-io_uring vs vanilla-epoll · vanilla-io_uring vs fasthttp · vanilla-io_uring vs veb · vanilla-epoll vs fasthttp · vanilla-epoll vs veb · fasthttp vs veb
Questions
Is vanilla-io_uring faster than vanilla-epoll?
vanilla-io_uring is quicker than vanilla-epoll on 14 of the 21 profiles they both run, and behind on 7. On the HTTP/1.1 composite they score 342 and 280. Both run on the same machine, in the same round, against the same profiles.
Is vanilla-io_uring faster than fasthttp?
vanilla-io_uring is quicker than fasthttp on 19 of the 19 profiles they both run. On the HTTP/1.1 composite they score 342 and 159. Both run on the same machine, in the same round, against the same profiles.
Is vanilla-io_uring faster than veb?
vanilla-io_uring is quicker than veb on 20 of the 20 profiles they both run. On the HTTP/1.1 composite they score 342 and 8. Both run on the same machine, in the same round, against the same profiles.
Is vanilla-epoll faster than fasthttp?
vanilla-epoll is quicker than fasthttp on 14 of the 19 profiles they both run, and behind on 5. On the HTTP/1.1 composite they score 280 and 159. Both run on the same machine, in the same round, against the same profiles.
Which V framework is fastest overall?
vanilla-io_uring holds the highest HTTP/1.1 composite of the V entries, at 342. 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.
Every V entry
Results updated · V composite ranking · Other languages · Open the leaderboard