C# web framework comparison: any two, head to head
aspnet-minimal-ioxide is quicker than aspnet-minimal on 16 of the 20 profiles they both run, and behind on 4. On the HTTP/1.1 composite they score 697 and 550.
Pick any two of the 22 C# 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 | aspnet-minimal-ioxide req/sec | aspnet-minimal req/sec | Delta | aspnet-minimal-ioxide p99 | aspnet-minimal p99 |
|---|---|---|---|---|---|---|
| Baseline | 512 | 1,687,058 | 1,252,267 | +35% | 2.03ms | 1.95ms |
| Baseline | 4,096 | 1,806,612 | 1,279,817 | +41% | 8.08ms | 8.65ms |
| Pipelined | 512 | 6,945,628 | 6,735,398 | +3% | 4.85ms | 4.84ms |
| Pipelined | 4,096 | 7,024,560 | 7,049,780 | -0% | 23.20ms | 20.90ms |
| Short-lived | 512 | 1,145,776 | 455,768 | +151% | 3.76ms | 11.70ms |
| Short-lived | 4,096 | 1,003,689 | 461,367 | +118% | 21.80ms | 12.30ms |
| JSON | 4,096 | 676,306 | 568,890 | +19% | 24.50ms | 22.00ms |
| JSON Comp | 512 | 362,672 | 333,327 | +9% | 8.12ms | 6.71ms |
| JSON Comp | 4,096 | 369,339 | 335,330 | +10% | 34.90ms | 37.60ms |
| JSON Comp | 16,384 | 382,233 | 335,277 | +14% | 86.90ms | 61.70ms |
| JSON TLS | 4,096 | 738,079 | 505,617 | +46% | 64.53ms | 104.21ms |
| Upload | 32 | 1,958 | 1,298 | +51% | 88.00ms | 80.30ms |
| Upload | 256 | 1,610 | 1,541 | +4% | 924.90ms | 767.40ms |
| Static | 1,024 | 332,365 | 354,825 | -6% | 129.65ms | 26.00ms |
| Static | 4,096 | 270,051 | 349,970 | -23% | 193.73ms | 449.49ms |
| Static | 6,800 | 243,869 | 340,804 | -28% | 213.29ms | 881.70ms |
| Async DB | 1,024 | 291,828 | 163,310 | +79% | 14.70ms | 18.60ms |
| CRUD | 4,096 | 555,136 | 393,113 | +41% | 36.00ms | 25.90ms |
| API-4 | 256 | 48,477 | 37,186 | +30% | 17.80ms | 12.30ms |
| API-16 | 1,024 | 154,249 | 112,527 | +37% | 35.80ms | 19.00ms |
Common comparisons
aspnet-minimal-ioxide vs aspnet-minimal · aspnet-minimal-ioxide vs fastendpoints · aspnet-minimal-ioxide vs aspnet-minimal-aot · aspnet-minimal vs fastendpoints · aspnet-minimal vs aspnet-minimal-aot · fastendpoints vs aspnet-minimal-aot
Questions
Is aspnet-minimal-ioxide faster than aspnet-minimal?
aspnet-minimal-ioxide is quicker than aspnet-minimal on 16 of the 20 profiles they both run, and behind on 4. On the HTTP/1.1 composite they score 697 and 550. Both run on the same machine, in the same round, against the same profiles.
Is aspnet-minimal-ioxide faster than fastendpoints?
aspnet-minimal-ioxide is quicker than fastendpoints on 17 of the 20 profiles they both run, and behind on 3. On the HTTP/1.1 composite they score 697 and 538. Both run on the same machine, in the same round, against the same profiles.
Is aspnet-minimal-ioxide faster than aspnet-minimal-aot?
aspnet-minimal-ioxide is quicker than aspnet-minimal-aot on 13 of the 18 profiles they both run, and behind on 5. On the HTTP/1.1 composite they score 697 and 452. Both run on the same machine, in the same round, against the same profiles.
Is aspnet-minimal faster than fastendpoints?
aspnet-minimal is quicker than fastendpoints on 22 of the 34 profiles they both run, and behind on 12. On the HTTP/1.1 composite they score 550 and 538. Both run on the same machine, in the same round, against the same profiles.
Which C# framework is fastest overall?
genhttp-11-ioxide holds the highest HTTP/1.1 composite of the C# entries, at 967. 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 C# entry
- genhttp-11-ioxide
- genhttp-11
- effinitive
- simplew-tuned
- aspnet-minimal-ioxide
- genhttp-11-kestrel
- simplew
- genhttp-kestrel
- aspnet-minimal
- fastendpoints
- genhttp
- aspnet-minimal-aot
- ioxide
- aspnet-mvc
- sisk
- minima-sync
- minima
- servicestack
- beskar-websocket
- dogrider
- fleck
- minima-ws
Results updated · C# composite ranking · Other languages · Open the leaderboard