zinc
Emerging · Go · engine: net/http · standard configuration · completeness 4/4
Zinc on the Go net/http server, default configuration. Routing and path/query values through the Zinc API, encoding/json via c.JSON, JSON bodies through c.Bind().JSON, gzip through the Zinc compress middleware.
Achievements
🥈 1 Silver. 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 |
|---|---|---|---|
| 🥈 Silver | Test profile | Efficiency · Latency-10K | 2 of 74 |
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 | 43 of 74 | 2207 |
| HTTP/2 | 18 of 21 | 280 |
Every result
Alpha Round, 22 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 | 495,592 | 8.26ms | 101.60ms | 3766.9% | 204MiB |
| Connection | Pipelined | 4,096 | 1,140,957 | 42.39ms | 1.70s | 4213.6% | 314MiB |
| Connection | Short-lived | 4,096 | 167,037 | 23.97ms | 263.30ms | 2189.8% | 64MiB |
| Concurrency | Async Delay | 32,000 | 688,876 | 45.89ms | 130.00ms | 5546.9% | 1.3GiB |
| Efficiency | Latency-10K | 1,024 | 9,983 | 90.9us | 127.0us | 77.1% | 79MiB |
| Efficiency | Latency-1M | 1,024 | 431,250 | 5708318.5us | 11243520.0us | 3085.1% | 110MiB |
| Efficiency | Latency-500K/8 | 1,024 | 195,538 | 6071310.4us | 12021760.0us | 753.8% | 53MiB |
| Workload | JSON Comp | 4,096 | 180,302 | 22.50ms | 161.70ms | 5695.0% | 729MiB |
| Workload | JSON Comp | 16,384 | 180,769 | 88.97ms | 339.70ms | 5579.1% | 1.6GiB |
| Workload | JSON TLS | 4,096 | 363,365 | 127.43ms | 1.92s | 4590.0% | 319MiB |
| Workload | 8Gbit | 512 | 49,105 | 433.4us | 2115.0us | 1340.4% | 86MiB |
| Workload | Static TLS | 1,024 | 22,687 | 321.60ms | 1.94s | 5832.5% | 631MiB |
| Database | Async DB | 1,024 | 96,514 | 10.46ms | 24.00ms | 4149.4% | 182MiB |
| HTTP/2 | Baseline | 256 | 545,430 | 45.78ms | 604.29ms | 4963.1% | 358MiB |
| HTTP/2 | Baseline | 1,024 | 527,471 | 147.02ms | 4.29s | 4891.9% | 1.0GiB |
| HTTP/2 | Static | 256 | - | - | - | 4617.1% | 2.6GiB |
| HTTP/2 | Static | 1,024 | - | - | - | 6101.1% | 10.9GiB |
| HTTP/2 | Baseline (h2c) | 256 | 532,982 | 47.17ms | 760.29ms | 5115.3% | 348MiB |
| HTTP/2 | Baseline (h2c) | 1,024 | 537,307 | 150.10ms | 3.88s | 4977.5% | 1.0GiB |
| HTTP/2 | Baseline (h2c) | 4,096 | 443,539 | 470.92ms | 4.90s | 3977.8% | 2.4GiB |
| HTTP/2 | JSON (h2c) | 1,024 | 329,576 | 92.81ms | 3.41s | 5197.1% | 731MiB |
| HTTP/2 | JSON (h2c) | 4,096 | 327,083 | 298.02ms | 4.77s | 5314.2% | 1.6GiB |
Compared with
The Go entries around zinc on the HTTP/1.1 composite, and the one leading them. The last column shows every profile side by side.
| Entry | Composite | vs zinc | |
|---|---|---|---|
| fib-tuned | 7429 | +237% | head to head |
| gin | 2264 | +3% | head to head |
| chi | 2207 | +0% | head to head |
| go-stdlib | 1884 | -15% | head to head |
| caddy | 683 | -69% | head to head |
Compare zinc with any Go entry · Compare zinc with any entry, in any language · Every Go entry, ranked
Results updated · How the benchmark is run · The machine · Add or fix an entry