Zig web framework comparison: any two, head to head
swerver is quicker than nilo on 17 of the 24 profiles they both run, and behind on 7. On the HTTP/1.1 composite they score 7489 and 7170.
Pick any two of the 7 Zig 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 | nilo req/sec | swerver req/sec | Delta | nilo p99 | swerver p99 |
|---|---|---|---|---|---|---|
| Baseline | 4,096 | 3,076,550 | 3,668,682 | -16% | 1.52ms | 2.17ms |
| Pipelined | 4,096 | 12,006,230 | 23,068,272 | -48% | 11.00ms | 3.67ms |
| Short-lived | 4,096 | 2,301,647 | 2,629,113 | -12% | 10.60ms | 3.18ms |
| Async Delay | 32,000 | 1,973,470 | 1,710,592 | +15% | 28.00ms | 21.20ms |
| Latency-10K | 1,024 | 9,983 | 9,974 | +0% | 103.0us | 102.0us |
| Latency-1M | 1,024 | 997,605 | 997,842 | -0% | 180.0us | 175.0us |
| JSON Comp | 4,096 | 611,376 | 421,012 | +45% | 31.20ms | 27.70ms |
| JSON Comp | 16,384 | 594,331 | 414,281 | +43% | 179.00ms | 74.90ms |
| JSON TLS | 4,096 | 1,561,927 | 1,510,149 | +3% | 309.41ms | 55.48ms |
| 8Gbit | 512 | 49,266 | 49,355 | -0% | 144.0us | 125.0us |
| Async DB | 1,024 | 68,515 | 374,347 | -82% | 59.80ms | 13.00ms |
| Baseline | 256 | 7,267,874 | 4,027,974 | +80% | 24.26ms | 36.38ms |
| Baseline | 1,024 | 8,912,070 | 4,188,242 | +113% | 120.50ms | 115.19ms |
| Static | 256 | 862,191 | 1,137,287 | -24% | 25.11ms | 41.96ms |
| Static | 1,024 | 201,561 | 1,085,942 | -81% | 253.54ms | 171.84ms |
| Baseline (h2c) | 256 | 9,010,310 | 12,624,758 | -29% | 11.03ms | 8.24ms |
| Baseline (h2c) | 1,024 | 7,234,451 | 12,774,896 | -43% | 46.11ms | 61.07ms |
| Baseline (h2c) | 4,096 | 6,873,413 | 11,605,652 | -41% | 146.15ms | 202.30ms |
| JSON (h2c) | 1,024 | 1,409,454 | 4,557,366 | -69% | 94.60ms | 63.86ms |
| JSON (h2c) | 4,096 | 1,387,433 | 4,434,190 | -69% | 327.18ms | 295.96ms |
| Unary | 256 | 6,357,462 | 6,821,807 | -7% | 9.96ms | 36.16ms |
| Unary | 1,024 | 6,706,912 | 6,767,120 | -1% | 197.47ms | 35.13ms |
| Unary TLS | 256 | 2,126,794 | 3,552,155 | -40% | 113.54ms | 38.33ms |
| Unary TLS | 1,024 | 3,391,337 | 3,614,786 | -6% | 561.80ms | 114.07ms |
Common comparisons
nilo vs swerver · nilo vs dusty · nilo vs zix · swerver vs dusty · swerver vs zix · dusty vs zix
Questions
Is nilo faster than swerver?
swerver is quicker than nilo on 17 of the 24 profiles they both run, and behind on 7. On the HTTP/1.1 composite they score 7489 and 7170. Both run on the same machine, in the same round, against the same profiles.
Is nilo faster than dusty?
nilo is quicker than dusty on 12 of the 20 profiles they both run, and behind on 7. On the HTTP/1.1 composite they score 7489 and 6938. Both run on the same machine, in the same round, against the same profiles.
Is nilo faster than zix?
zix is quicker than nilo on 27 of the 30 profiles they both run, and behind on 3. On the HTTP/1.1 composite they score 7489 and 4794. Both run on the same machine, in the same round, against the same profiles.
Is swerver faster than dusty?
swerver is quicker than dusty on 9 of the 12 profiles they both run, and behind on 3. On the HTTP/1.1 composite they score 7170 and 6938. Both run on the same machine, in the same round, against the same profiles.
Which Zig framework is fastest overall?
nilo holds the highest HTTP/1.1 composite of the Zig entries, at 7489. 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 Zig entry
Results updated · Zig composite ranking · Compare across languages · Other languages · Open the leaderboard