oxpecker
Emerging · F# · engine: kestrel · standard configuration
F# web framework built on ASP.NET Core endpoint routing, with a functional handler DSL and its own code-as-markup view engine.
Achievements
🥇 1 Gold · 🥉 4 Bronze. Top three of a field, taken in this entry's own league: the family composite, the same composite among entries written in the same language, and each test profile it is scored on. Every field is the one the badges publish, so a medal and a badge always say the same thing. How medals are awarded.
| Medal | Award | Field | Rank |
|---|---|---|---|
| 🥇 Gold | Test profile | HTTP/3 · Baseline | 1 of 7 |
| 🥉 Bronze | Family composite | Composite · HTTP/2 | 3 of 17 |
| 🥉 Bronze | Test profile | HTTP/2 · Baseline | 3 of 17 |
| 🥉 Bronze | Test profile | HTTP/2 · Baseline (h2c) | 3 of 9 |
| 🥉 Bronze | Test profile | HTTP/2 · JSON (h2c) | 3 of 9 |
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. 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 | 15 of 72 | 514 |
| HTTP/2 | 3 of 17 | 161 |
| HTTP/3 | 5 of 7 | 30 |
Every result
Alpha Round, 35 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 | 512 | 1,404,010 | 364us | 1.66ms | 5001.3% | 218MiB |
| Connection | Baseline | 4,096 | 1,433,634 | 2.12ms | 7.40ms | 5541.7% | 349MiB |
| Connection | Pipelined | 512 | 13,539,179 | 604us | 3.34ms | 5890.5% | 134MiB |
| Connection | Pipelined | 4,096 | 14,157,800 | 4.01ms | 11.30ms | 5941.0% | 328MiB |
| Connection | Short-lived | 512 | 451,144 | 1.13ms | 12.00ms | 3137.5% | 123MiB |
| Connection | Short-lived | 4,096 | 461,091 | 1.55ms | 12.30ms | 3214.8% | 127MiB |
| Workload | JSON | 4,096 | 632,245 | 4.41ms | 19.60ms | 5881.4% | 463MiB |
| Workload | JSON Comp | 512 | 364,379 | 1.38ms | 6.68ms | 5545.4% | 251MiB |
| Workload | JSON Comp | 4,096 | 355,534 | 9.02ms | 33.20ms | 5897.5% | 522MiB |
| Workload | JSON Comp | 16,384 | 351,320 | 15.01ms | 44.10ms | 5770.8% | 596MiB |
| Workload | JSON TLS | 4,096 | 543,639 | 7.77ms | 106.94ms | 6233.3% | 650MiB |
| Workload | Upload | 32 | 1,315 | 24.45ms | 70.90ms | 6179.9% | 146MiB |
| Workload | Upload | 256 | 1,542 | 161.41ms | 803.40ms | 6415.4% | 322MiB |
| Workload | Static | 1,024 | 117,630 | 8.84ms | 57.72ms | 6004.1% | 396MiB |
| Workload | Static | 4,096 | 114,841 | 36.03ms | 932.48ms | 5999.2% | 816MiB |
| Workload | Static | 6,800 | 115,378 | 76.68ms | 1.89s | 6084.8% | 992MiB |
| Workload | Static TLS | 1,024 | 95,443 | 10.81ms | 45.31ms | 6088.0% | 535MiB |
| Workload | Static TLS | 4,096 | 93,453 | 42.32ms | 193.40ms | 6105.5% | 1.3GiB |
| Workload | Static TLS | 6,800 | 91,710 | 67.72ms | 260.17ms | 5996.2% | 1.8GiB |
| Database | Async DB | 1,024 | 184,664 | 4.92ms | 19.70ms | 4442.4% | 390MiB |
| Database | CRUD | 4,096 | 362,342 | 10.46ms | 30.40ms | 5566.6% | 432MiB |
| Database | Fortunes | 1,024 | 73,397 | 11.50ms | 30.90ms | 5475.8% | 414MiB |
| Multi-endpoint | API-4 | 256 | 34,987 | 5.33ms | 11.60ms | 381.0% | 133MiB |
| Multi-endpoint | API-16 | 1,024 | 105,416 | 7.06ms | 18.40ms | 1463.8% | 249MiB |
| HTTP/2 | Baseline | 256 | 2,705,299 | 8.91ms | 63.03ms | 6166.3% | 1.1GiB |
| HTTP/2 | Baseline | 1,024 | 2,640,805 | 36.92ms | 178.71ms | 5910.3% | 2.9GiB |
| HTTP/2 | Static | 256 | 73,483 | 108.49ms | 1.12s | 6223.4% | 3.5GiB |
| HTTP/2 | Static | 1,024 | 52,916 | 552.45ms | 3.44s | 5217.1% | 9.0GiB |
| HTTP/2 | Baseline (h2c) | 256 | 3,492,011 | 7.44ms | 54.40ms | 6316.9% | 1014MiB |
| HTTP/2 | Baseline (h2c) | 1,024 | 3,262,496 | 33.00ms | 189.67ms | 6009.5% | 2.7GiB |
| HTTP/2 | Baseline (h2c) | 4,096 | 2,866,558 | 114.15ms | 411.82ms | 5865.1% | 6.6GiB |
| HTTP/2 | JSON (h2c) | 1,024 | 850,740 | 38.23ms | 233.94ms | 6160.9% | 2.1GiB |
| HTTP/2 | JSON (h2c) | 4,096 | 725,010 | 150.77ms | 825.24ms | 5910.2% | 4.1GiB |
| HTTP/3 | Baseline | 64 | 664,769 | 5.65ms | 17.80ms | 5986.0% | 1.2GiB |
| HTTP/3 | Static | 64 | 34,767 | 97.81ms | 539.51ms | 5716.0% | 1.6GiB |
Results updated · How the benchmark is run · The machine · Add or fix an entry