oxpecker
Emerging · F# · engine: kestrel · standard configuration · completeness 4/4
F# web framework built on ASP.NET Core endpoint routing, with a functional handler DSL and its own code-as-markup view engine.
Composite rank
Each profile of a family is worth 100 to the entry that leads it, and the composite is the sum over the family, less 2.5% for each of routing, middleware, request and response the entry does not do for you - its completeness factor, which the WebSocket and gRPC families do not carry. The field is this entry's own league: engines and reverse proxies are scored apart from frameworks. How it works.
| Family | Rank | Composite |
|---|---|---|
| HTTP/1.1 | 16 of 71 | 3516 |
| HTTP/2 | 4 of 18 | 1124 |
| HTTP/3 | 6 of 7 | 290 |
Every result
Alpha Round, 25 runs. Requests per second is the best of three; latency, CPU and memory come from that run.
| Category | Profile | Conns | Req/sec | Avg | p99 | CPU | Memory |
|---|---|---|---|---|---|---|---|
| Connection | Baseline | 4,096 | 1,444,879 | 2.38ms | 7.51ms | 5621.0% | 320MiB |
| Connection | Pipelined | 4,096 | 14,011,805 | 3.80ms | 11.30ms | 5838.6% | 263MiB |
| Connection | Short-lived | 4,096 | 463,184 | 1.56ms | 12.40ms | 3142.6% | 124MiB |
| Concurrency | Async Delay | 32,000 | 1,028,191 | 26.12ms | 58.60ms | 4352.5% | 1.4GiB |
| Efficiency | Latency-10K | 1,024 | 9,981 | 90.9us | 116.0us | 139.0% | 205MiB |
| Efficiency | Latency-1M | 1,024 | 997,262 | 416.4us | 3991.0us | 3889.7% | 216MiB |
| Efficiency | Latency-500K/8 | 1,024 | 332,142 | 3320588.2us | 6608896.0us | 745.6% | 208MiB |
| Workload | JSON Comp | 4,096 | 365,828 | 8.97ms | 32.10ms | 5874.9% | 501MiB |
| Workload | JSON Comp | 16,384 | 362,467 | 15.29ms | 52.20ms | 5833.5% | 636MiB |
| Workload | JSON TLS | 4,096 | 549,249 | 7.61ms | 66.02ms | 6090.2% | 862MiB |
| Workload | 8Gbit | 512 | 49,351 | 202.7us | 1219.0us | 1013.8% | 289MiB |
| Workload | Static TLS | 1,024 | 94,761 | 10.89ms | 73.08ms | 6152.6% | 566MiB |
| Database | Async DB | 1,024 | 190,861 | 4.76ms | 19.40ms | 4556.9% | 383MiB |
| Database | Fortunes | 1,024 | 74,459 | 11.13ms | 30.20ms | 5555.1% | 428MiB |
| HTTP/2 | Baseline | 256 | 2,720,556 | 8.82ms | 52.01ms | 6203.0% | 1.1GiB |
| HTTP/2 | Baseline | 1,024 | 2,676,309 | 37.67ms | 187.30ms | 6246.5% | 2.3GiB |
| HTTP/2 | Static | 256 | 72,979 | 110.06ms | 1.38s | 6198.2% | 3.4GiB |
| HTTP/2 | Static | 1,024 | 50,822 | 573.61ms | 4.64s | 5868.3% | 7.3GiB |
| HTTP/2 | Baseline (h2c) | 256 | 3,280,460 | 7.79ms | 46.52ms | 6384.2% | 1.2GiB |
| HTTP/2 | Baseline (h2c) | 1,024 | 3,329,815 | 32.45ms | 174.99ms | 6332.1% | 2.7GiB |
| HTTP/2 | Baseline (h2c) | 4,096 | 2,399,981 | 133.28ms | 547.10ms | 4657.9% | 6.2GiB |
| HTTP/2 | JSON (h2c) | 1,024 | 841,533 | 39.24ms | 174.64ms | 6168.3% | 1.9GiB |
| HTTP/2 | JSON (h2c) | 4,096 | 702,233 | 142.50ms | 846.14ms | 5755.2% | 4.1GiB |
| HTTP/3 | Baseline | 64 | 606,148 | 6.52ms | 25.79ms | 6141.3% | 1.2GiB |
| HTTP/3 | Static | 64 | 32,870 | 99.79ms | 563.52ms | 5950.2% | 1.6GiB |
Compare oxpecker with any entry, in any language · Every F# entry, ranked
Results updated · How the benchmark is run · The machine · Add or fix an entry