Research / Evidence
Performance,
with limits.
The useful question is not whether Gray wins one chart. It is how much work it delivers before latency, memory, or correctness stops being acceptable.
Every result here names its environment and boundary. These are controlled Grayworth qualifications, not official TechEmpower rankings.
01 / Operating envelope
Fast until the queue forms.
Gray holds corrected p99 below 4 ms through the 45k point. At 60k the queue becomes visible. At 75k the server is overloaded. The bend is the capacity boundary, not a victory graphic.
Corrected p99 curve
| Requested rate | Corrected p99 |
|---|---|
| 8k/s | 3.13 ms |
| 12k/s | 2.42 ms |
| 20k/s | 2.25 ms |
| 30k/s | 2.73 ms |
| 45k/s | 3.81 ms |
| 60k/s | 85.76 ms |
| 75k/s | 1.60 s |
AMD EPYC 9645 host · one pinned server CPU · 30 seconds per point · corrected-latency wrk2.
02 / External context
One controlled comparison.
This answers a narrow question: under one fixture and one CPU, which tested rate still met the delivery and tail-latency condition? It does not rank ecosystems, safety, maintainability, or production maturity.
Read the language decision guidesHighest tested rate that still qualified
| Runtime | Qualifying rate |
|---|---|
| PHP-FPM | 8k req/s |
| Node | 12k req/s |
| Go | 30k req/s |
| Gray | 60k req/s |
AMD EPYC 9645 · digest-pinned Ubuntu image · one server CPU · 30 seconds per point. Threshold: ≥95% delivery and corrected p99 <100 ms. Not a general language ranking.
Operating envelope
Speed matters
when it holds.
03 / Qualification ledger
