watson
Emerging · C# · standard configuration · completeness 4/4
Watson Webserver, a small async C# web server for REST endpoints, written the way a caller writes it: routes declared through Watson's own routing - static routes for the fixed paths, parameter routes for the two that carry a value - rather than a hand-rolled dispatch. HTTP/1.1 cleartext on :8080 and the same routes over TLS on :8081, which is where json-tls and 8gbit are measured. /json is serialized from the parsed model on every request and compressed only when the client asked for it, so nothing is answered from a precomputed body.
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 | 70 of 76 | 837 |
Every result
Alpha Round, 11 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 | 135,599 | 30.09ms | 33.20ms | 1608.6% | 230MiB |
| Connection | Pipelined | 4,096 | 142,527 | 28.58ms | 31.90ms | 1664.3% | 162MiB |
| Connection | Short-lived | 4,096 | 137,172 | 29.72ms | 34.20ms | 1638.3% | 192MiB |
| Concurrency | Async Delay | 32,000 | 87,027 | 349.45ms | 385.90ms | 1904.2% | 756MiB |
| Efficiency | Latency-10K | 1,024 | 9,981 | 99.1us | 133.0us | 276.0% | 375MiB |
| Efficiency | Latency-1M | 1,024 | 135,309 | 8629201.5us | 17080320.0us | 1662.2% | 194MiB |
| Efficiency | Latency-500K/8 | 1,024 | 77,085 | 8377877.1us | 16707584.0us | 793.1% | 228MiB |
| Workload | JSON Comp | 4,096 | 132,825 | 30.70ms | 35.80ms | 2398.0% | 235MiB |
| Workload | JSON Comp | 16,384 | 131,007 | 122.49ms | 135.60ms | 2461.1% | 364MiB |
| Workload | JSON TLS | 4,096 | 23,214 | 8.04ms | 77.78ms | 4648.3% | 786MiB |
| Workload | 8Gbit | 512 | 17,867 | 1571046.3us | 3138560.0us | 5314.4% | 300MiB |
Compared with
The C# entries around watson on the HTTP/1.1 composite, and the one leading them. The last column shows every profile side by side.
| Entry | Composite | vs watson | |
|---|---|---|---|
| genhttp-ioxide | 6850 | +718% | head to head |
| sisk | 2106 | +152% | head to head |
| cadente | 1769 | +111% | head to head |
| servicestack | 183 | -78% | head to head |
Compare watson with any C# entry · Compare watson with any entry, in any language · Every C# entry, ranked
Results updated · How the benchmark is run · The machine · Add or fix an entry