Benchmarks
One release-built Rust client measures every server on the same machine and workloads, separating server and transport costs from language-specific client overhead.
Latest run: · AWS Graviton5, 32 cores, 61.6 GB
Canonical results pending
C# has been added to the release-pinned benchmark matrix. Its performance figures will appear after a full run on the canonical c9gd.8xlarge host; the published charts below remain the prior comparable snapshot.
Release inputs
Every run is bound to the full commit ID behind the release tag selected for that run. These historical measurements may predate the SDK versions in the capability matrix; Iroh has not been measured in this snapshot.
| Implementation | Release | Commit | Status |
|---|---|---|---|
| Python | v0.43.0 | 1da388f7bf58 | Published release |
| TypeScript | v0.22.0 | 423558fa50c7 | Published release |
| Go | v0.26.1 | 8e7c49fd0724 | Published release |
| Rust | v0.23.2 | eaba89b5d60e | Published release |
| Java | v0.23.1 | a0309fe28073 | Published release |
| C# | v0.7.0 | 8afe27f8c5ab | Canonical benchmark pending |
| C++ | v0.1.4 | 0fe27a2870ed | Published release |
Performance at a glance
Every panel is shown up front. Lower is better for latency; higher is better for call rate and payload bandwidth.
Single-call latency by language
Mean latency for a tiny unary call with one client. Color compares languages within each transport, so HTTP remains useful without flattening the faster local transports.
| Language | Direct transports | HTTP | ||||
|---|---|---|---|---|---|---|
| Subprocess / stdio | Stdio + shared memory | Unix socket | TCP loopback | HTTP identity | HTTP zstd | |
| Python | 54.1 μs | 56.2 μs | 66.4 μs | 78.7 μs | 103.8 μs | 134.7 μs |
| TypeScript | 79.4 μs | — | 93.4 μs | 102.6 μs | 83.3 μs | 108.9 μs |
| Go | 17.3 μs | 17.8 μs | 25.9 μs | 42.2 μs | 57.5 μs | 87.8 μs |
| Rust | 13.1 μs | 14.3 μs | 21.6 μs | 39.3 μs | 46.0 μs | 57.6 μs |
| Java | 15.0 μs | 15.9 μs | 24.7 μs | 27.4 μs | 53.6 μs | 73.8 μs |
| C++ | 13.7 μs | 15.7 μs | 23.5 μs | 38.2 μs | 49.1 μs | 68.3 μs |
Scaling relative to one client
One client shows request rate; 2–16 clients show throughput relative to that baseline. Green is close to linear scaling; red indicates saturation.
Multi-core implementations
These servers can dispatch independent connections across multiple CPU cores.
Go
Small unary calls
Socket transports
| Transport | 1 clientreq/s | 2 clients | 4 clients | 8 clients | 16 clients |
|---|---|---|---|---|---|
| Unix socket | 38K | 1.40× | 2.70× | 2.83× | 2.49× |
| TCP loopback | 23.7K | 1.45× | 3.13× | 3.45× | 3.44× |
HTTP transports
| Transport | 1 clientreq/s | 2 clients | 4 clients | 8 clients | 16 clients |
|---|---|---|---|---|---|
| HTTP identity | 17.5K | 1.78× | 2.85× | 3.79× | 3.18× |
| HTTP zstd | 11.3K | 1.85× | 3.75× | 7.49× | 12.08× |
1 MiB round trips
Socket transports
| Transport | 1 clientreq/s | 2 clients | 4 clients | 8 clients | 16 clients |
|---|---|---|---|---|---|
| Unix socket | 2.1K | 1.69× | 2.90× | 4.44× | 5.50× |
| TCP loopback | 2K | 1.60× | 2.89× | 4.38× | 5.68× |
HTTP transports
| Transport | 1 clientreq/s | 2 clients | 4 clients | 8 clients | 16 clients |
|---|---|---|---|---|---|
| HTTP identity | 1.2K | 1.38× | 2.56× | 3.73× | 4.15× |
| HTTP zstd | 250.5 | 2.15× | 4.25× | 8.07× | 12.63× |
Rust
Small unary calls
Socket transports
| Transport | 1 clientreq/s | 2 clients | 4 clients | 8 clients | 16 clients |
|---|---|---|---|---|---|
| Unix socket | 45.7K | 1.98× | 3.98× | 7.87× | 15.75× |
| TCP loopback | 24.8K | 1.89× | 3.65× | 6.99× | 12.01× |
HTTP transports
| Transport | 1 clientreq/s | 2 clients | 4 clients | 8 clients | 16 clients |
|---|---|---|---|---|---|
| HTTP identity | 21.7K | 1.90× | 3.70× | 7.02× | 12.03× |
| HTTP zstd | 17.6K | 1.90× | 3.70× | 7.26× | 12.22× |
1 MiB round trips
Socket transports
| Transport | 1 clientreq/s | 2 clients | 4 clients | 8 clients | 16 clients |
|---|---|---|---|---|---|
| Unix socket | 5.9K | 1.89× | 3.43× | 6.17× | 9.65× |
| TCP loopback | 4.2K | 1.97× | 3.76× | 6.81× | 11.11× |
HTTP transports
| Transport | 1 clientreq/s | 2 clients | 4 clients | 8 clients | 16 clients |
|---|---|---|---|---|---|
| HTTP identity | 928.3 | 1.87× | 3.26× | 5.56× | 7.16× |
| HTTP zstd | 510.3 | 1.69× | 3.85× | 7.26× | 12.83× |
Java
Small unary calls
Socket transports
| Transport | 1 clientreq/s | 2 clients | 4 clients | 8 clients | 16 clients |
|---|---|---|---|---|---|
| Unix socket | 40.1K | 1.89× | 3.91× | 7.67× | 8.70× |
| TCP loopback | 35.6K | 1.93× | 3.70× | 7.18× | 7.36× |
HTTP transports
| Transport | 1 clientreq/s | 2 clients | 4 clients | 8 clients | 16 clients |
|---|---|---|---|---|---|
| HTTP identity | 18.4K | 1.98× | 3.93× | 7.57× | 11.14× |
| HTTP zstd | 13.1K | 2.03× | 4.06× | 7.71× | 11.48× |
1 MiB round trips
Socket transports
| Transport | 1 clientreq/s | 2 clients | 4 clients | 8 clients | 16 clients |
|---|---|---|---|---|---|
| Unix socket | 2.4K | 1.95× | 3.68× | 6.30× | 7.61× |
| TCP loopback | 2.2K | 1.99× | 3.76× | 6.78× | 8.93× |
HTTP transports
| Transport | 1 clientreq/s | 2 clients | 4 clients | 8 clients | 16 clients |
|---|---|---|---|---|---|
| HTTP identity | 863.2 | 1.96× | 3.47× | 5.22× | 5.60× |
| HTTP zstd | 594.4 | 2.02× | 3.94× | 7.04× | 9.86× |
C++
Small unary calls
Socket transports
| Transport | 1 clientreq/s | 2 clients | 4 clients | 8 clients | 16 clients |
|---|---|---|---|---|---|
| Unix socket | 42.6K | 1.90× | 3.76× | 7.33× | 13.68× |
| TCP loopback | 26.4K | 1.93× | 3.76× | 7.27× | 11.19× |
HTTP transports
| Transport | 1 clientreq/s | 2 clients | 4 clients | 8 clients | 16 clients |
|---|---|---|---|---|---|
| HTTP identity | 20.2K | 1.98× | 3.93× | 7.70× | 11.81× |
| HTTP zstd | 14.5K | 1.98× | 3.95× | 7.79× | 12.28× |
1 MiB round trips
Socket transports
| Transport | 1 clientreq/s | 2 clients | 4 clients | 8 clients | 16 clients |
|---|---|---|---|---|---|
| Unix socket | 5.8K | 1.91× | 3.53× | 6.30× | 9.47× |
| TCP loopback | 4.4K | 1.93× | 3.77× | 7.04× | 10.93× |
HTTP transports
| Transport | 1 clientreq/s | 2 clients | 4 clients | 8 clients | 16 clients |
|---|---|---|---|---|---|
| HTTP identity | 1.6K | 1.92× | 3.43× | 4.34× | 4.84× |
| HTTP zstd | 724 | 2.00× | 3.93× | 6.83× | 10.12× |
Single-process, one-core implementations
Python and TypeScript raw socket servers are bounded by one process core, so their client-count curves are shown separately. Python HTTP uses 16 Granian worker processes.
PythonRaw socket server: single process, one CPU core; HTTP: 16 Granian workers.
Small unary calls
Socket transports
| Transport | 1 clientreq/s | 2 clients | 4 clients | 8 clients | 16 clients |
|---|---|---|---|---|---|
| Unix socket | 15.2K | 0.67× | 0.48× | 0.48× | 0.48× |
| TCP loopback | 12.5K | 0.78× | 0.56× | 0.56× | 0.55× |
HTTP transports
| Transport | 1 clientreq/s | 2 clients | 4 clients | 8 clients | 16 clients |
|---|---|---|---|---|---|
| HTTP identity | 9.7K | 2.00× | 3.98× | 7.50× | 11.37× |
| HTTP zstd | 7.7K | 1.93× | 3.87× | 7.68× | 11.16× |
1 MiB round trips
Socket transports
| Transport | 1 clientreq/s | 2 clients | 4 clients | 8 clients | 16 clients |
|---|---|---|---|---|---|
| Unix socket | 1.2K | 1.11× | 1.18× | 1.21× | 1.14× |
| TCP loopback | 1.2K | 1.17× | 1.25× | 1.24× | 1.10× |
HTTP transports
| Transport | 1 clientreq/s | 2 clients | 4 clients | 8 clients | 16 clients |
|---|---|---|---|---|---|
| HTTP identity | 559.6 | 1.95× | 3.34× | 5.07× | 7.08× |
| HTTP zstd | 414.5 | 1.88× | 3.92× | 6.69× | 10.60× |
TypeScriptRaw socket server: single process, one CPU core.
Small unary calls
Socket transports
| Transport | 1 clientreq/s | 2 clients | 4 clients | 8 clients | 16 clients |
|---|---|---|---|---|---|
| Unix socket | 11K | 1.04× | 1.04× | 1.03× | 1.02× |
| TCP loopback | 9.5K | 1.14× | 1.18× | 1.17× | 1.15× |
HTTP transports
| Transport | 1 clientreq/s | 2 clients | 4 clients | 8 clients | 16 clients |
|---|---|---|---|---|---|
| HTTP identity | 12K | 1.55× | 1.59× | 1.61× | 1.57× |
| HTTP zstd | 9.2K | 1.59× | 1.65× | 1.64× | 1.64× |
1 MiB round trips
Socket transports
| Transport | 1 clientreq/s | 2 clients | 4 clients | 8 clients | 16 clients |
|---|---|---|---|---|---|
| Unix socket | 1K | 1.10× | 1.10× | 1.07× | 1.01× |
| TCP loopback | 1K | 1.07× | 1.06× | 1.07× | 1.04× |
HTTP transports
| Transport | 1 clientreq/s | 2 clients | 4 clients | 8 clients | 16 clients |
|---|---|---|---|---|---|
| HTTP identity | 696 | 1.79× | 2.10× | 2.04× | 2.01× |
| HTTP zstd | 530.5 | 1.61× | 1.93× | 1.92× | 1.95× |
Single-client large-payload bandwidth by transport
16 MiB echo throughput with one outstanding call, counting bytes in both directions. Client and server are not CPU-pinned, so these are single-client rather than single-core results. Color compares languages within each transport; higher is better.
| Language | Direct transports | HTTP | ||||
|---|---|---|---|---|---|---|
| Subprocess / stdio | Stdio + shared memory | Unix socket | TCP loopback | HTTP identity | HTTP zstd | |
| Python | 1.26 GiB/s | 1.54 GiB/s | 1.77 GiB/s | 1.74 GiB/s | 547 MiB/s | 832 MiB/s |
| TypeScript | 827 MiB/s | — | 1.11 GiB/s | 1.13 GiB/s | 763 MiB/s | 1.14 GiB/s |
| Go | 1.68 GiB/s | 3.22 GiB/s | 2.28 GiB/s | 2.16 GiB/s | 831 MiB/s | 481 MiB/s |
| Rust | 1.74 GiB/s | 3.35 GiB/s | 2.82 GiB/s | 2.92 GiB/s | 680 MiB/s | 700 MiB/s |
| Java | 1.83 GiB/s | 2.79 GiB/s | 2.45 GiB/s | 2.43 GiB/s | 796 MiB/s | 1.14 GiB/s |
| C++ | 1.74 GiB/s | 3.35 GiB/s | 3.04 GiB/s | 2.78 GiB/s | 637 MiB/s | 630 MiB/s |
Detailed results
Rust client → release server. Choose a workload, transport, and available client count to inspect percentiles, CPU, and quality.
Workload
Transport
Clients
Single-call workloads have one client; load workloads expose 1, 2, 4, 8, and 16.
| Server | Clients | Mean | P50 | P95 | P99 | Calls | Payload | Host CPU | Quality |
|---|---|---|---|---|---|---|---|---|---|
| Python | 1 | 49.4 μs | 49.3 μs | 50.5 μs | 56.7 μs | 20.23K/s | — | — | complete |
| Python | 1 | 66.4 μs | 66.2 μs | 67.3 μs | 77.6 μs | 15.06K/s | — | — | complete |
| Python | 1 | 65.0 μs | 64.7 μs | 66.0 μs | 75.5 μs | 15.38K/s | — | — | complete |
| Python | 1 | 64.9 μs | 64.6 μs | 65.8 μs | 76.5 μs | 15.39K/s | 30.1 MiB/s | — | complete |
| Python | 1 | 79.6 μs | 79.2 μs | 81.0 μs | 94.0 μs | 12.55K/s | 1.53 GiB/s | — | complete |
| Python | 1 | 811.7 μs | 806.8 μs | 830.2 μs | 844.2 μs | 1.23K/s | 2.41 GiB/s | — | complete |
| Python | 1 | 17.68 ms | 17.65 ms | 18.00 ms | 18.45 ms | 56.57/s | 1.77 GiB/s | — | complete |
| Python | 1 | 83.8 μs | 83.4 μs | 85.5 μs | 96.5 μs | 11.92K/s | — | — | complete |
| Python | 1 | 103.8 μs | 103.1 μs | 107.2 μs | 119.6 μs | 9.63K/s | — | — | complete |
| Python | 1 | 99.8 μs | 99.0 μs | 103.3 μs | 116.2 μs | 10.02K/s | — | — | complete |
| Python | 1 | 102.7 μs | 102.1 μs | 105.7 μs | 119.0 μs | 9.73K/s | 19.0 MiB/s | — | complete |
| Python | 1 | 179.2 μs | 178.2 μs | 188.8 μs | 198.4 μs | 5.58K/s | 697.4 MiB/s | — | complete |
| Python | 1 | 1.77 ms | 1.77 ms | 1.80 ms | 1.82 ms | 563.56/s | 1.10 GiB/s | — | complete |
| Python | 1 | 58.55 ms | 58.46 ms | 59.51 ms | 59.77 ms | 17.08/s | 546.6 MiB/s | — | complete |
| Python | 1 | 37.9 μs | 37.8 μs | 38.9 μs | 42.9 μs | 26.36K/s | — | — | complete |
| Python | 1 | 56.2 μs | 56.0 μs | 56.8 μs | 65.9 μs | 17.78K/s | — | — | complete |
| Python | 1 | 53.5 μs | 53.3 μs | 54.0 μs | 63.0 μs | 18.67K/s | — | — | complete |
| Python | 1 | 54.9 μs | 54.8 μs | 55.6 μs | 64.6 μs | 18.18K/s | 35.5 MiB/s | — | complete |
| Python | 1 | 80.6 μs | 80.4 μs | 82.0 μs | 95.0 μs | 12.41K/s | 1.51 GiB/s | — | complete |
| Python | 1 | 1.02 ms | 1.02 ms | 1.10 ms | 1.13 ms | 978.99/s | 1.91 GiB/s | — | complete |
| Python | 1 | 20.26 ms | 20.27 ms | 20.63 ms | 20.76 ms | 49.37/s | 1.54 GiB/s | — | complete |
| Python | 1 | 97.8 μs | 97.3 μs | 99.7 μs | 111.2 μs | 10.22K/s | — | — | complete |
| Python | 1 | 134.7 μs | 133.8 μs | 140.7 μs | 153.4 μs | 7.42K/s | — | — | complete |
| Python | 1 | 124.5 μs | 123.6 μs | 129.1 μs | 142.1 μs | 8.03K/s | — | — | complete |
| Python | 1 | 129.6 μs | 128.6 μs | 135.5 μs | 148.1 μs | 7.71K/s | 15.1 MiB/s | — | complete |
| Python | 1 | 247.6 μs | 245.8 μs | 263.0 μs | 269.3 μs | 4.04K/s | 504.7 MiB/s | — | complete |
| Python | 1 | 2.45 ms | 2.45 ms | 2.47 ms | 2.48 ms | 408.7/s | 817.4 MiB/s | — | complete |
| Python | 1 | 38.46 ms | 38.41 ms | 38.88 ms | 39.49 ms | 26/s | 832.0 MiB/s | — | complete |
| Python | 1 | 38.6 μs | 38.7 μs | 40.0 μs | 43.3 μs | 25.84K/s | — | — | complete |
| Python | 1 | 54.1 μs | 53.8 μs | 54.7 μs | 63.0 μs | 18.48K/s | — | — | complete |
| Python | 1 | 51.3 μs | 51.1 μs | 51.7 μs | 60.4 μs | 19.47K/s | — | — | complete |
| Python | 1 | 52.3 μs | 52.1 μs | 52.9 μs | 61.5 μs | 19.11K/s | 37.3 MiB/s | — | complete |
| Python | 1 | 77.4 μs | 76.9 μs | 79.2 μs | 90.4 μs | 12.91K/s | 1.58 GiB/s | — | complete |
| Python | 1 | 1.13 ms | 1.12 ms | 1.15 ms | 1.17 ms | 886.19/s | 1.73 GiB/s | — | complete |
| Python | 1 | 24.76 ms | 24.79 ms | 25.20 ms | 25.33 ms | 40.38/s | 1.26 GiB/s | — | complete |
| Python | 1 | 61.3 μs | 61.1 μs | 61.9 μs | 70.8 μs | 16.3K/s | — | — | complete |
| Python | 1 | 78.7 μs | 78.2 μs | 81.1 μs | 90.0 μs | 12.7K/s | — | — | complete |
| Python | 1 | 80.9 μs | 80.6 μs | 82.3 μs | 91.8 μs | 12.35K/s | — | — | complete |
| Python | 1 | 81.3 μs | 80.9 μs | 82.7 μs | 92.8 μs | 12.29K/s | 24.0 MiB/s | — | complete |
| Python | 1 | 95.4 μs | 94.8 μs | 98.0 μs | 109.4 μs | 10.48K/s | 1.28 GiB/s | — | complete |
| Python | 1 | 840.2 μs | 836.8 μs | 857.9 μs | 866.7 μs | 1.19K/s | 2.32 GiB/s | — | complete |
| Python | 1 | 17.97 ms | 17.79 ms | 18.99 ms | 19.26 ms | 55.63/s | 1.74 GiB/s | — | complete |
| TypeScript | 1 | 66.7 μs | 57.3 μs | 74.4 μs | 105.4 μs | 14.97K/s | — | — | complete |
| TypeScript | 1 | 93.4 μs | 81.5 μs | 105.9 μs | 129.8 μs | 10.7K/s | — | — | complete |
| TypeScript | 1 | 95.2 μs | 81.0 μs | 108.2 μs | 129.5 μs | 10.5K/s | — | — | complete |
| TypeScript | 1 | 92.3 μs | 78.2 μs | 108.7 μs | 130.9 μs | 10.83K/s | 21.1 MiB/s | — | complete |
| TypeScript | 1 | 213.6 μs | 132.5 μs | 176.4 μs | 193.9 μs | 4.68K/s | 585.1 MiB/s | — | Noisy (9.3% CV) |
| TypeScript | 1 | 1.22 ms | 455.5 μs | 1.16 ms | 6.63 ms | 819.84/s | 1.60 GiB/s | — | complete |
| TypeScript | 1 | 28.09 ms | 20.73 ms | 23.02 ms | 339.36 ms | 35.6/s | 1.11 GiB/s | — | Noisy (10.7% CV) |
| TypeScript | 1 | 62.5 μs | 58.3 μs | 64.2 μs | 79.6 μs | 16K/s | — | — | complete |
| TypeScript | 1 | 83.3 μs | 76.5 μs | 85.9 μs | 140.6 μs | 11.99K/s | — | — | complete |
| TypeScript | 1 | 81.9 μs | 75.0 μs | 84.2 μs | 141.4 μs | 12.2K/s | — | — | complete |
| TypeScript | 1 | 80.4 μs | 73.8 μs | 81.1 μs | 148.8 μs | 12.42K/s | 24.3 MiB/s | — | complete |
| TypeScript | 1 | 136.4 μs | 109.3 μs | 144.2 μs | 712.6 μs | 7.33K/s | 915.8 MiB/s | — | complete |
| TypeScript | 1 | 845.9 μs | 600.4 μs | 1.90 ms | 2.60 ms | 1.18K/s | 2.31 GiB/s | — | complete |
| TypeScript | 1 | 41.95 ms | 41.09 ms | 47.31 ms | 49.03 ms | 23.84/s | 762.9 MiB/s | — | complete |
| TypeScript | 1 | — | — | — | — | — | — | — | unsupported |
| TypeScript | 1 | — | — | — | — | — | — | — | unsupported |
| TypeScript | 1 | — | — | — | — | — | — | — | unsupported |
| TypeScript | 1 | — | — | — | — | — | — | — | unsupported |
| TypeScript | 1 | — | — | — | — | — | — | — | unsupported |
| TypeScript | 1 | — | — | — | — | — | — | — | unsupported |
| TypeScript | 1 | — | — | — | — | — | — | — | unsupported |
| TypeScript | 1 | 82.7 μs | 77.3 μs | 85.5 μs | 103.8 μs | 12.08K/s | — | — | complete |
| TypeScript | 1 | 108.9 μs | 100.8 μs | 116.3 μs | 177.4 μs | 9.18K/s | — | — | complete |
| TypeScript | 1 | 107.0 μs | 99.2 μs | 113.8 μs | 173.9 μs | 9.34K/s | — | — | complete |
| TypeScript | 1 | 103.7 μs | 96.0 μs | 108.6 μs | 184.0 μs | 9.64K/s | 18.8 MiB/s | — | complete |
| TypeScript | 1 | 255.2 μs | 202.8 μs | 285.9 μs | 2.08 ms | 3.92K/s | 489.7 MiB/s | — | complete |
| TypeScript | 1 | 1.58 ms | 1.13 ms | 3.26 ms | 3.59 ms | 631.54/s | 1.23 GiB/s | — | complete |
| TypeScript | 1 | 27.52 ms | 26.16 ms | 36.14 ms | 37.65 ms | 36.34/s | 1.14 GiB/s | — | complete |
| TypeScript | 1 | 55.1 μs | 47.4 μs | 62.9 μs | 83.1 μs | 18.13K/s | — | — | complete |
| TypeScript | 1 | 79.4 μs | 68.1 μs | 91.7 μs | 109.6 μs | 12.58K/s | — | — | complete |
| TypeScript | 1 | 80.8 μs | 68.1 μs | 93.5 μs | 117.0 μs | 12.37K/s | — | — | complete |
| TypeScript | 1 | 78.3 μs | 64.7 μs | 95.0 μs | 114.3 μs | 12.77K/s | 24.9 MiB/s | — | complete |
| TypeScript | 1 | 210.0 μs | 134.8 μs | 172.5 μs | 191.0 μs | 4.76K/s | 595.0 MiB/s | — | complete |
| TypeScript | 1 | 1.70 ms | 708.5 μs | 1.33 ms | 7.83 ms | 586.69/s | 1.15 GiB/s | — | complete |
| TypeScript | 1 | 38.67 ms | 25.55 ms | 32.13 ms | 421.36 ms | 25.86/s | 827.4 MiB/s | — | complete |
| TypeScript | 1 | 72.9 μs | 63.3 μs | 81.7 μs | 116.1 μs | 13.7K/s | — | — | complete |
| TypeScript | 1 | 102.6 μs | 88.6 μs | 114.5 μs | 137.0 μs | 9.74K/s | — | — | complete |
| TypeScript | 1 | 104.0 μs | 90.0 μs | 120.2 μs | 143.9 μs | 9.61K/s | — | — | complete |
| TypeScript | 1 | 99.3 μs | 84.4 μs | 107.9 μs | 134.3 μs | 10.06K/s | 19.7 MiB/s | — | complete |
| TypeScript | 1 | 218.8 μs | 139.5 μs | 189.2 μs | 210.1 μs | 4.57K/s | 571.2 MiB/s | — | complete |
| TypeScript | 1 | 1.16 ms | 486.4 μs | 1.21 ms | 6.14 ms | 862.65/s | 1.68 GiB/s | — | complete |
| TypeScript | 1 | 27.55 ms | 20.16 ms | 24.95 ms | 309.26 ms | 36.3/s | 1.13 GiB/s | — | complete |
| Go | 1 | 19.7 μs | 18.8 μs | 21.8 μs | 46.1 μs | 50.69K/s | — | — | complete |
| Go | 1 | 25.9 μs | 24.4 μs | 29.0 μs | 83.1 μs | 38.46K/s | — | — | complete |
| Go | 1 | 26.5 μs | 25.2 μs | 29.6 μs | 81.2 μs | 37.6K/s | — | — | complete |
| Go | 1 | 27.6 μs | 25.6 μs | 33.1 μs | 97.2 μs | 36.15K/s | 70.6 MiB/s | — | complete |
| Go | 1 | 69.4 μs | 48.3 μs | 149.0 μs | 177.4 μs | 14.39K/s | 1.76 GiB/s | — | complete |
| Go | 1 | 473.8 μs | 420.6 μs | 753.3 μs | 876.4 μs | 2.11K/s | 4.12 GiB/s | — | complete |
| Go | 1 | 13.73 ms | 13.79 ms | 14.06 ms | 14.27 ms | 72.83/s | 2.28 GiB/s | — | complete |
| Go | 1 | 48.2 μs | 45.5 μs | 55.3 μs | 125.4 μs | 20.7K/s | — | — | complete |
| Go | 1 | 57.5 μs | 53.2 μs | 75.0 μs | 163.2 μs | 17.38K/s | — | — | complete |
| Go | 1 | 56.8 μs | 52.4 μs | 76.3 μs | 163.0 μs | 17.58K/s | — | — | complete |
| Go | 1 | 61.6 μs | 55.1 μs | 115.6 μs | 184.0 μs | 16.23K/s | 31.7 MiB/s | — | complete |
| Go | 1 | 203.0 μs | 165.2 μs | 340.2 μs | 383.0 μs | 4.93K/s | 615.7 MiB/s | — | complete |
| Go | 1 | 700.5 μs | 693.8 μs | 754.4 μs | 837.2 μs | 1.43K/s | 2.79 GiB/s | — | complete |
| Go | 1 | 38.52 ms | 38.07 ms | 40.82 ms | 43.59 ms | 25.96/s | 830.8 MiB/s | — | complete |
| Go | 1 | 12.8 μs | 12.1 μs | 14.2 μs | 22.9 μs | 77.92K/s | — | — | complete |
| Go | 1 | 17.8 μs | 16.7 μs | 19.5 μs | 67.8 μs | 55.9K/s | — | — | complete |
| Go | 1 | 18.0 μs | 16.9 μs | 19.5 μs | 63.6 μs | 55.5K/s | — | — | complete |
| Go | 1 | 19.1 μs | 17.6 μs | 21.1 μs | 84.4 μs | 52.32K/s | 102.2 MiB/s | — | complete |
| Go | 1 | 70.1 μs | 51.6 μs | 143.9 μs | 167.9 μs | 14.26K/s | 1.74 GiB/s | — | complete |
| Go | 1 | 582.1 μs | 534.1 μs | 908.7 μs | 1.02 ms | 1.72K/s | 3.35 GiB/s | — | complete |
| Go | 1 | 9.71 ms | 9.70 ms | 9.99 ms | 10.09 ms | 102.98/s | 3.22 GiB/s | — | complete |
| Go | 1 | 76.3 μs | 71.6 μs | 83.4 μs | 152.5 μs | 13.09K/s | — | — | complete |
| Go | 1 | 87.8 μs | 81.9 μs | 96.9 μs | 164.5 μs | 11.38K/s | — | — | complete |
| Go | 1 | 86.1 μs | 80.2 μs | 94.8 μs | 162.6 μs | 11.61K/s | — | — | complete |
| Go | 1 | 104.0 μs | 96.5 μs | 109.8 μs | 187.0 μs | 9.61K/s | 18.8 MiB/s | — | complete |
| Go | 1 | 485.7 μs | 370.4 μs | 1.01 ms | 2.69 ms | 2.06K/s | 257.4 MiB/s | — | complete |
| Go | 1 | 4.35 ms | 4.13 ms | 6.91 ms | 7.82 ms | 229.79/s | 459.6 MiB/s | — | complete |
| Go | 1 | 66.46 ms | 65.30 ms | 71.97 ms | 73.15 ms | 15.05/s | 481.5 MiB/s | — | complete |
| Go | 1 | 12.3 μs | 11.8 μs | 13.4 μs | 21.3 μs | 80.73K/s | — | — | complete |
| Go | 1 | 17.3 μs | 16.2 μs | 18.9 μs | 57.4 μs | 57.69K/s | — | — | complete |
| Go | 1 | 17.5 μs | 16.5 μs | 18.9 μs | 52.8 μs | 56.9K/s | — | — | complete |
| Go | 1 | 18.6 μs | 17.2 μs | 20.3 μs | 81.5 μs | 53.66K/s | 104.8 MiB/s | — | complete |
| Go | 1 | 70.4 μs | 51.0 μs | 148.2 μs | 173.0 μs | 14.2K/s | 1.73 GiB/s | — | complete |
| Go | 1 | 757.9 μs | 720.1 μs | 1.01 ms | 1.14 ms | 1.32K/s | 2.58 GiB/s | — | complete |
| Go | 1 | 18.64 ms | 18.70 ms | 19.00 ms | 19.18 ms | 53.63/s | 1.68 GiB/s | — | complete |
| Go | 1 | 34.0 μs | 33.2 μs | 35.5 μs | 49.5 μs | 29.4K/s | — | — | complete |
| Go | 1 | 42.2 μs | 40.9 μs | 44.8 μs | 90.8 μs | 23.69K/s | — | — | complete |
| Go | 1 | 46.1 μs | 44.9 μs | 48.8 μs | 91.6 μs | 21.66K/s | — | — | complete |
| Go | 1 | 44.2 μs | 42.5 μs | 47.6 μs | 105.1 μs | 22.61K/s | 44.2 MiB/s | — | complete |
| Go | 1 | 88.2 μs | 66.6 μs | 168.2 μs | 191.1 μs | 11.33K/s | 1.38 GiB/s | — | complete |
| Go | 1 | 567.7 μs | 503.2 μs | 864.4 μs | 927.7 μs | 1.76K/s | 3.44 GiB/s | — | Noisy (6.1% CV) |
| Go | 1 | 14.45 ms | 14.50 ms | 14.72 ms | 14.89 ms | 69.19/s | 2.16 GiB/s | — | complete |
| Java | 1 | 19.3 μs | 19.0 μs | 21.0 μs | 22.5 μs | 51.67K/s | — | — | complete |
| Java | 1 | 24.7 μs | 24.6 μs | 25.4 μs | 26.6 μs | 40.43K/s | — | — | complete |
| Java | 1 | 24.5 μs | 24.5 μs | 25.2 μs | 26.4 μs | 40.64K/s | — | — | complete |
| Java | 1 | 25.9 μs | 25.8 μs | 26.6 μs | 28.2 μs | 38.51K/s | 75.2 MiB/s | — | complete |
| Java | 1 | 50.0 μs | 49.7 μs | 51.4 μs | 62.4 μs | 19.98K/s | 2.44 GiB/s | — | complete |
| Java | 1 | 410.2 μs | 408.0 μs | 424.1 μs | 430.3 μs | 2.44K/s | 4.76 GiB/s | — | complete |
| Java | 1 | 12.73 ms | 12.74 ms | 13.17 ms | 13.34 ms | 78.55/s | 2.45 GiB/s | — | complete |
| Java | 1 | 47.2 μs | 46.5 μs | 52.4 μs | 57.9 μs | 21.14K/s | — | — | complete |
| Java | 1 | 53.6 μs | 53.3 μs | 54.6 μs | 64.4 μs | 18.63K/s | — | — | complete |
| Java | 1 | 53.3 μs | 53.1 μs | 54.4 μs | 64.2 μs | 18.73K/s | — | — | complete |
| Java | 1 | 55.6 μs | 55.3 μs | 56.7 μs | 67.5 μs | 17.96K/s | 35.1 MiB/s | — | complete |
| Java | 1 | 127.2 μs | 126.3 μs | 132.7 μs | 144.8 μs | 7.86K/s | 982.3 MiB/s | — | complete |
| Java | 1 | 1.01 ms | 998.0 μs | 1.03 ms | 1.28 ms | 994.81/s | 1.94 GiB/s | — | complete |
| Java | 1 | 40.20 ms | 40.14 ms | 40.95 ms | 41.32 ms | 24.88/s | 796.1 MiB/s | — | complete |
| Java | 1 | 10.6 μs | 10.5 μs | 11.0 μs | 13.1 μs | 93.57K/s | — | — | complete |
| Java | 1 | 15.9 μs | 15.8 μs | 16.2 μs | 16.8 μs | 62.61K/s | — | — | complete |
| Java | 1 | 15.9 μs | 15.8 μs | 16.1 μs | 16.4 μs | 62.74K/s | — | — | complete |
| Java | 1 | 16.9 μs | 16.8 μs | 17.2 μs | 17.7 μs | 58.94K/s | 115.1 MiB/s | — | complete |
| Java | 1 | 53.0 μs | 52.7 μs | 54.4 μs | 64.8 μs | 18.85K/s | 2.30 GiB/s | — | complete |
| Java | 1 | 513.0 μs | 505.5 μs | 567.2 μs | 624.0 μs | 1.95K/s | 3.81 GiB/s | — | complete |
| Java | 1 | 11.19 ms | 11.16 ms | 11.58 ms | 11.84 ms | 89.37/s | 2.79 GiB/s | — | complete |
| Java | 1 | 59.5 μs | 58.3 μs | 66.5 μs | 74.5 μs | 16.8K/s | — | — | complete |
| Java | 1 | 73.8 μs | 73.2 μs | 75.3 μs | 85.6 μs | 13.54K/s | — | — | complete |
| Java | 1 | 72.2 μs | 71.7 μs | 73.6 μs | 84.0 μs | 13.84K/s | — | — | complete |
| Java | 1 | 73.0 μs | 72.6 μs | 74.5 μs | 85.1 μs | 13.68K/s | 26.7 MiB/s | — | complete |
| Java | 1 | 196.5 μs | 195.1 μs | 207.1 μs | 212.3 μs | 5.09K/s | 636.0 MiB/s | — | complete |
| Java | 1 | 1.56 ms | 1.56 ms | 1.58 ms | 1.84 ms | 640.03/s | 1.25 GiB/s | — | complete |
| Java | 1 | 27.43 ms | 27.47 ms | 27.84 ms | 28.18 ms | 36.46/s | 1.14 GiB/s | — | complete |
| Java | 1 | 9.96 μs | 9.86 μs | 10.3 μs | 11.7 μs | 99.72K/s | — | — | complete |
| Java | 1 | 15.0 μs | 15.0 μs | 15.4 μs | 17.1 μs | 66.5K/s | — | — | complete |
| Java | 1 | 14.6 μs | 14.5 μs | 15.3 μs | 16.1 μs | 68K/s | — | — | complete |
| Java | 1 | 16.3 μs | 16.4 μs | 16.8 μs | 17.1 μs | 60.95K/s | 119.0 MiB/s | — | complete |
| Java | 1 | 52.6 μs | 52.3 μs | 54.2 μs | 64.6 μs | 18.99K/s | 2.32 GiB/s | — | complete |
| Java | 1 | 579.5 μs | 577.2 μs | 602.9 μs | 619.6 μs | 1.73K/s | 3.37 GiB/s | — | complete |
| Java | 1 | 17.08 ms | 17.06 ms | 17.43 ms | 17.64 ms | 58.55/s | 1.83 GiB/s | — | complete |
| Java | 1 | 21.5 μs | 21.2 μs | 23.3 μs | 25.0 μs | 46.29K/s | — | — | complete |
| Java | 1 | 27.4 μs | 27.1 μs | 28.6 μs | 31.1 μs | 36.46K/s | — | — | complete |
| Java | 1 | 27.2 μs | 27.0 μs | 28.3 μs | 30.8 μs | 36.63K/s | — | — | complete |
| Java | 1 | 28.5 μs | 28.3 μs | 29.7 μs | 33.2 μs | 35.05K/s | 68.5 MiB/s | — | complete |
| Java | 1 | 51.7 μs | 50.6 μs | 61.2 μs | 64.3 μs | 19.33K/s | 2.36 GiB/s | — | complete |
| Java | 1 | 433.5 μs | 432.0 μs | 448.1 μs | 452.8 μs | 2.31K/s | 4.51 GiB/s | — | complete |
| Java | 1 | 12.88 ms | 12.87 ms | 13.26 ms | 13.45 ms | 77.67/s | 2.43 GiB/s | — | complete |
| C++ | 1 | 18.3 μs | 18.1 μs | 19.1 μs | 25.7 μs | 54.36K/s | — | — | complete |
| C++ | 1 | 23.5 μs | 23.3 μs | 24.1 μs | 29.0 μs | 42.47K/s | — | — | complete |
| C++ | 1 | 23.7 μs | 23.5 μs | 24.4 μs | 28.5 μs | 42.18K/s | — | — | complete |
| C++ | 1 | 24.5 μs | 24.4 μs | 25.0 μs | 25.6 μs | 40.71K/s | 79.5 MiB/s | — | complete |
| C++ | 1 | 34.5 μs | 34.0 μs | 37.2 μs | 44.1 μs | 28.91K/s | 3.53 GiB/s | — | complete |
| C++ | 1 | 185.9 μs | 177.8 μs | 198.5 μs | 384.2 μs | 5.38K/s | 10.50 GiB/s | — | complete |
| C++ | 1 | 10.27 ms | 10.37 ms | 10.65 ms | 11.44 ms | 97.33/s | 3.04 GiB/s | — | complete |
| C++ | 1 | 43.6 μs | 43.3 μs | 44.3 μs | 56.6 μs | 22.88K/s | — | — | complete |
| C++ | 1 | 49.1 μs | 48.7 μs | 50.0 μs | 62.6 μs | 20.35K/s | — | — | complete |
| C++ | 1 | 47.6 μs | 47.2 μs | 48.4 μs | 61.2 μs | 20.99K/s | — | — | complete |
| C++ | 1 | 50.0 μs | 49.6 μs | 51.0 μs | 63.9 μs | 19.97K/s | 39.0 MiB/s | — | complete |
| C++ | 1 | 86.6 μs | 84.6 μs | 99.7 μs | 116.4 μs | 11.54K/s | 1.41 GiB/s | — | complete |
| C++ | 1 | 598.5 μs | 556.1 μs | 906.1 μs | 1.36 ms | 1.67K/s | 3.26 GiB/s | — | complete |
| C++ | 1 | 50.25 ms | 50.38 ms | 51.27 ms | 51.64 ms | 19.9/s | 636.8 MiB/s | — | complete |
| C++ | 1 | 10.8 μs | 10.7 μs | 11.0 μs | 16.7 μs | 92.51K/s | — | — | complete |
| C++ | 1 | 15.7 μs | 15.6 μs | 16.0 μs | 20.3 μs | 63.44K/s | — | — | complete |
| C++ | 1 | 14.1 μs | 13.9 μs | 15.4 μs | 18.0 μs | 70.41K/s | — | — | complete |
| C++ | 1 | 16.2 μs | 16.6 μs | 17.0 μs | 17.2 μs | 61.34K/s | 119.8 MiB/s | — | complete |
| C++ | 1 | 43.8 μs | 43.3 μs | 45.0 μs | 54.2 μs | 22.82K/s | 2.79 GiB/s | — | complete |
| C++ | 1 | 378.8 μs | 339.1 μs | 509.4 μs | 547.9 μs | 2.64K/s | 5.15 GiB/s | — | complete |
| C++ | 1 | 9.31 ms | 8.40 ms | 12.06 ms | 12.35 ms | 107.36/s | 3.35 GiB/s | — | complete |
| C++ | 1 | 55.6 μs | 55.1 μs | 56.6 μs | 69.1 μs | 17.97K/s | — | — | complete |
| C++ | 1 | 68.3 μs | 67.8 μs | 69.9 μs | 82.3 μs | 14.63K/s | — | — | complete |
| C++ | 1 | 66.3 μs | 65.8 μs | 67.8 μs | 80.0 μs | 15.08K/s | — | — | complete |
| C++ | 1 | 68.1 μs | 67.6 μs | 69.9 μs | 82.5 μs | 14.67K/s | 28.7 MiB/s | — | complete |
| C++ | 1 | 173.5 μs | 172.3 μs | 183.0 μs | 194.6 μs | 5.76K/s | 720.2 MiB/s | — | complete |
| C++ | 1 | 1.44 ms | 1.30 ms | 1.95 ms | 2.31 ms | 692.3/s | 1.35 GiB/s | — | complete |
| C++ | 1 | 50.76 ms | 50.81 ms | 51.46 ms | 51.85 ms | 19.7/s | 630.4 MiB/s | — | complete |
| C++ | 1 | 9.97 μs | 9.88 μs | 10.1 μs | 16.1 μs | 99.79K/s | — | — | complete |
| C++ | 1 | 13.7 μs | 13.6 μs | 14.0 μs | 18.8 μs | 72.58K/s | — | — | complete |
| C++ | 1 | 13.0 μs | 12.9 μs | 13.3 μs | 17.2 μs | 76.41K/s | — | — | complete |
| C++ | 1 | 14.4 μs | 14.3 μs | 14.6 μs | 14.8 μs | 69.26K/s | 135.3 MiB/s | — | complete |
| C++ | 1 | 42.7 μs | 42.5 μs | 43.3 μs | 48.5 μs | 23.41K/s | 2.86 GiB/s | — | complete |
| C++ | 1 | 575.5 μs | 606.9 μs | 656.3 μs | 661.7 μs | 1.74K/s | 3.39 GiB/s | — | complete |
| C++ | 1 | 17.93 ms | 17.17 ms | 19.75 ms | 20.14 ms | 55.76/s | 1.74 GiB/s | — | Noisy (5.7% CV) |
| C++ | 1 | 33.8 μs | 33.3 μs | 36.1 μs | 41.6 μs | 29.51K/s | — | — | complete |
| C++ | 1 | 38.2 μs | 37.6 μs | 41.5 μs | 45.5 μs | 26.16K/s | — | — | complete |
| C++ | 1 | 41.8 μs | 41.6 μs | 43.6 μs | 48.8 μs | 23.88K/s | — | — | complete |
| C++ | 1 | 44.4 μs | 44.3 μs | 45.1 μs | 51.0 μs | 22.49K/s | 43.9 MiB/s | — | complete |
| C++ | 1 | 54.0 μs | 53.5 μs | 56.2 μs | 64.6 μs | 18.51K/s | 2.26 GiB/s | — | complete |
| C++ | 1 | 237.2 μs | 230.6 μs | 248.8 μs | 401.3 μs | 4.22K/s | 8.23 GiB/s | — | complete |
| C++ | 1 | 11.22 ms | 11.09 ms | 12.13 ms | 12.44 ms | 89.09/s | 2.78 GiB/s | — | complete |
| Python | 1 | 65.5 μs | 65.3 μs | 66.9 μs | 76.1 μs | 15.2K/s | — | 4.0% | complete |
| Python | 2 | 195.4 μs | 194.6 μs | 246.7 μs | 265.1 μs | 10.22K/s | — | 5.1% | complete |
| Python | 4 | 551.2 μs | 542.7 μs | 740.7 μs | 837.2 μs | 7.25K/s | — | 5.8% | complete |
| Python | 8 | 1.09 ms | 1.07 ms | 1.53 ms | 1.76 ms | 7.32K/s | — | 5.8% | complete |
| Python | 16 | 2.18 ms | 2.13 ms | 3.17 ms | 3.70 ms | 7.31K/s | — | 5.8% | complete |
| Python | 1 | 824.4 μs | 826.0 μs | 848.0 μs | 856.2 μs | 1.21K/s | 2.37 GiB/s | 4.0% | complete |
| Python | 2 | 1.49 ms | 1.50 ms | 1.67 ms | 1.71 ms | 1.34K/s | 2.62 GiB/s | 4.7% | complete |
| Python | 4 | 2.79 ms | 2.77 ms | 3.55 ms | 3.99 ms | 1.43K/s | 2.80 GiB/s | 5.7% | complete |
| Python | 8 | 5.42 ms | 5.35 ms | 7.30 ms | 8.28 ms | 1.47K/s | 2.88 GiB/s | 6.0% | complete |
| Python | 16 | 11.57 ms | 11.42 ms | 16.02 ms | 18.28 ms | 1.38K/s | 2.69 GiB/s | 6.0% | complete |
| Python | 1 | 103.2 μs | 102.5 μs | 107.0 μs | 119.0 μs | 9.67K/s | — | 3.3% | complete |
| Python | 2 | 103.2 μs | 102.5 μs | 107.1 μs | 118.7 μs | 19.33K/s | — | 6.6% | complete |
| Python | 4 | 103.6 μs | 102.8 μs | 107.7 μs | 119.5 μs | 38.51K/s | — | 13.5% | complete |
| Python | 8 | 110.1 μs | 104.2 μs | 121.7 μs | 133.8 μs | 72.49K/s | — | 25.1% | complete |
| Python | 16 | 145.3 μs | 126.1 μs | 238.2 μs | 251.9 μs | 109.91K/s | — | 44.4% | Noisy (6.7% CV) |
| Python | 1 | 1.79 ms | 1.78 ms | 1.82 ms | 1.85 ms | 559.62/s | 1.09 GiB/s | 4.5% | complete |
| Python | 2 | 1.84 ms | 1.83 ms | 1.88 ms | 1.93 ms | 1.09K/s | 2.13 GiB/s | 8.7% | complete |
| Python | 4 | 2.14 ms | 2.05 ms | 2.79 ms | 2.83 ms | 1.87K/s | 3.65 GiB/s | 16.9% | complete |
| Python | 8 | 2.82 ms | 2.25 ms | 4.80 ms | 4.90 ms | 2.84K/s | 5.54 GiB/s | 27.8% | complete |
| Python | 16 | 4.03 ms | 3.35 ms | 6.91 ms | 8.90 ms | 3.96K/s | 7.74 GiB/s | 51.9% | Noisy (14.2% CV) |
| Python | 1 | 130.3 μs | 129.1 μs | 137.8 μs | 148.9 μs | 7.66K/s | — | 3.3% | complete |
| Python | 2 | 134.9 μs | 129.9 μs | 155.7 μs | 167.9 μs | 14.79K/s | — | 6.3% | Noisy (7.6% CV) |
| Python | 4 | 134.6 μs | 130.4 μs | 156.2 μs | 165.2 μs | 29.65K/s | — | 12.7% | complete |
| Python | 8 | 135.8 μs | 131.7 μs | 156.9 μs | 168.6 μs | 58.78K/s | — | 25.5% | complete |
| Python | 16 | 186.8 μs | 164.6 μs | 270.6 μs | 311.8 μs | 85.49K/s | — | 44.5% | Noisy (8.5% CV) |
| Python | 1 | 2.41 ms | 2.41 ms | 2.44 ms | 2.48 ms | 414.46/s | 828.9 MiB/s | 3.1% | complete |
| Python | 2 | 2.56 ms | 2.42 ms | 3.40 ms | 3.42 ms | 779.71/s | 1.52 GiB/s | 5.9% | Noisy (15.1% CV) |
| Python | 4 | 2.46 ms | 2.45 ms | 2.52 ms | 2.56 ms | 1.63K/s | 3.18 GiB/s | 12.6% | complete |
| Python | 8 | 2.88 ms | 2.70 ms | 3.67 ms | 3.74 ms | 2.77K/s | 5.42 GiB/s | 23.3% | complete |
| Python | 16 | 3.64 ms | 3.19 ms | 4.55 ms | 6.26 ms | 4.39K/s | 8.58 GiB/s | 41.3% | Noisy (12.5% CV) |
| Python | 1 | 79.9 μs | 79.5 μs | 81.7 μs | 91.0 μs | 12.47K/s | — | 4.3% | complete |
| Python | 2 | 204.9 μs | 204.1 μs | 244.3 μs | 260.2 μs | 9.75K/s | — | 5.2% | complete |
| Python | 4 | 570.9 μs | 566.0 μs | 723.5 μs | 799.0 μs | 7K/s | — | 6.2% | complete |
| Python | 8 | 1.14 ms | 1.12 ms | 1.51 ms | 1.69 ms | 7.01K/s | — | 6.0% | complete |
| Python | 16 | 2.31 ms | 2.27 ms | 3.13 ms | 3.57 ms | 6.91K/s | — | 5.9% | complete |
| Python | 1 | 857.8 μs | 853.8 μs | 889.8 μs | 899.9 μs | 1.17K/s | 2.28 GiB/s | 3.8% | complete |
| Python | 2 | 1.47 ms | 1.47 ms | 1.82 ms | 1.90 ms | 1.36K/s | 2.66 GiB/s | 4.9% | complete |
| Python | 4 | 2.75 ms | 2.79 ms | 3.53 ms | 4.00 ms | 1.46K/s | 2.84 GiB/s | 5.7% | Noisy (9.5% CV) |
| Python | 8 | 5.53 ms | 5.48 ms | 7.33 ms | 8.28 ms | 1.45K/s | 2.82 GiB/s | 5.7% | complete |
| Python | 16 | 12.42 ms | 12.25 ms | 16.70 ms | 19.12 ms | 1.28K/s | 2.51 GiB/s | 6.2% | complete |
| TypeScript | 1 | 90.6 μs | 79.6 μs | 99.3 μs | 136.7 μs | 11K/s | — | 4.7% | complete |
| TypeScript | 2 | 174.4 μs | 154.9 μs | 184.0 μs | 342.7 μs | 11.45K/s | — | 4.8% | complete |
| TypeScript | 4 | 350.6 μs | 314.3 μs | 363.9 μs | 1.94 ms | 11.4K/s | — | 4.6% | complete |
| TypeScript | 8 | 708.0 μs | 637.8 μs | 746.0 μs | 2.96 ms | 11.29K/s | — | 4.5% | complete |
| TypeScript | 16 | 1.42 ms | 1.29 ms | 2.67 ms | 4.13 ms | 11.23K/s | — | 4.4% | complete |
| TypeScript | 1 | 957.0 μs | 507.6 μs | 3.08 ms | 4.79 ms | 1.04K/s | 2.04 GiB/s | 10.6% | complete |
| TypeScript | 2 | 1.75 ms | 1.53 ms | 3.57 ms | 4.31 ms | 1.14K/s | 2.23 GiB/s | 10.4% | complete |
| TypeScript | 4 | 3.47 ms | 3.26 ms | 4.96 ms | 5.59 ms | 1.15K/s | 2.25 GiB/s | 10.5% | complete |
| TypeScript | 8 | 7.14 ms | 7.08 ms | 9.01 ms | 11.18 ms | 1.12K/s | 2.18 GiB/s | 10.4% | complete |
| TypeScript | 16 | 15.10 ms | 14.76 ms | 18.88 ms | 25.30 ms | 1.06K/s | 2.06 GiB/s | 9.9% | complete |
| TypeScript | 1 | 83.1 μs | 76.6 μs | 87.4 μs | 141.2 μs | 11.99K/s | — | 3.9% | complete |
| TypeScript | 2 | 107.4 μs | 94.5 μs | 113.8 μs | 768.3 μs | 18.58K/s | — | 5.1% | complete |
| TypeScript | 4 | 209.1 μs | 140.9 μs | 299.0 μs | 1.19 ms | 19.1K/s | — | 5.5% | complete |
| TypeScript | 8 | 413.3 μs | 321.3 μs | 675.8 μs | 1.56 ms | 19.34K/s | — | 5.4% | complete |
| TypeScript | 16 | 847.9 μs | 706.1 μs | 1.68 ms | 2.39 ms | 18.86K/s | — | 5.4% | complete |
| TypeScript | 1 | 1.44 ms | 1.27 ms | 2.88 ms | 3.45 ms | 696.04/s | 1.36 GiB/s | 5.1% | Noisy (7.2% CV) |
| TypeScript | 2 | 1.61 ms | 1.17 ms | 3.18 ms | 3.54 ms | 1.24K/s | 2.43 GiB/s | 9.0% | complete |
| TypeScript | 4 | 2.74 ms | 2.32 ms | 4.58 ms | 4.87 ms | 1.46K/s | 2.85 GiB/s | 11.1% | complete |
| TypeScript | 8 | 5.63 ms | 5.09 ms | 9.14 ms | 10.48 ms | 1.42K/s | 2.77 GiB/s | 10.9% | complete |
| TypeScript | 16 | 11.42 ms | 10.47 ms | 20.21 ms | 21.71 ms | 1.4K/s | 2.73 GiB/s | 11.6% | complete |
| TypeScript | 1 | 108.5 μs | 100.7 μs | 115.3 μs | 178.1 μs | 9.19K/s | — | 3.6% | complete |
| TypeScript | 2 | 136.2 μs | 121.1 μs | 143.6 μs | 964.8 μs | 14.65K/s | — | 5.7% | complete |
| TypeScript | 4 | 264.0 μs | 180.1 μs | 379.2 μs | 1.32 ms | 15.14K/s | — | 5.5% | complete |
| TypeScript | 8 | 529.2 μs | 414.6 μs | 881.8 μs | 1.89 ms | 15.11K/s | — | 5.7% | complete |
| TypeScript | 16 | 1.06 ms | 893.2 μs | 2.00 ms | 2.92 ms | 15.1K/s | — | 5.8% | complete |
| TypeScript | 1 | 1.88 ms | 1.50 ms | 3.21 ms | 3.60 ms | 530.55/s | 1.04 GiB/s | 4.5% | complete |
| TypeScript | 2 | 2.33 ms | 2.03 ms | 3.78 ms | 4.22 ms | 856.81/s | 1.67 GiB/s | 8.4% | complete |
| TypeScript | 4 | 3.91 ms | 3.73 ms | 5.90 ms | 7.12 ms | 1.02K/s | 2.00 GiB/s | 9.7% | complete |
| TypeScript | 8 | 7.83 ms | 6.40 ms | 12.70 ms | 14.36 ms | 1.02K/s | 1.99 GiB/s | 9.8% | complete |
| TypeScript | 16 | 15.38 ms | 13.69 ms | 27.29 ms | 28.62 ms | 1.04K/s | 2.02 GiB/s | 9.7% | complete |
| TypeScript | 1 | 105.5 μs | 93.5 μs | 114.8 μs | 157.1 μs | 9.45K/s | — | 4.8% | complete |
| TypeScript | 2 | 185.7 μs | 165.4 μs | 199.0 μs | 285.1 μs | 10.76K/s | — | 4.9% | complete |
| TypeScript | 4 | 357.3 μs | 313.7 μs | 536.8 μs | 2.00 ms | 11.18K/s | — | 4.7% | complete |
| TypeScript | 8 | 725.0 μs | 654.0 μs | 758.3 μs | 3.04 ms | 11.03K/s | — | 4.7% | complete |
| TypeScript | 16 | 1.47 ms | 1.33 ms | 2.73 ms | 4.29 ms | 10.84K/s | — | 4.6% | complete |
| TypeScript | 1 | 988.1 μs | 531.0 μs | 3.18 ms | 4.58 ms | 1.01K/s | 1.98 GiB/s | 10.2% | complete |
| TypeScript | 2 | 1.85 ms | 1.58 ms | 3.70 ms | 4.50 ms | 1.08K/s | 2.11 GiB/s | 9.9% | complete |
| TypeScript | 4 | 3.72 ms | 3.68 ms | 5.46 ms | 6.38 ms | 1.08K/s | 2.10 GiB/s | 9.9% | complete |
| TypeScript | 8 | 7.35 ms | 7.18 ms | 9.42 ms | 11.23 ms | 1.09K/s | 2.12 GiB/s | 10.3% | complete |
| TypeScript | 16 | 15.12 ms | 14.79 ms | 18.65 ms | 21.15 ms | 1.05K/s | 2.06 GiB/s | 9.4% | complete |
| Go | 1 | 26.1 μs | 24.5 μs | 29.2 μs | 85.0 μs | 38.02K/s | — | 5.7% | complete |
| Go | 2 | 37.3 μs | 38.9 μs | 46.7 μs | 130.7 μs | 53.32K/s | — | 8.1% | complete |
| Go | 4 | 38.8 μs | 28.8 μs | 108.5 μs | 211.3 μs | 102.47K/s | — | 18.5% | complete |
| Go | 8 | 74.0 μs | 38.9 μs | 257.6 μs | 301.2 μs | 107.7K/s | — | 29.9% | complete |
| Go | 16 | 168.6 μs | 87.7 μs | 486.9 μs | 630.0 μs | 94.74K/s | — | 33.8% | Noisy (11.0% CV) |
| Go | 1 | 486.4 μs | 426.3 μs | 741.2 μs | 937.7 μs | 2.05K/s | 4.01 GiB/s | 8.1% | complete |
| Go | 2 | 574.8 μs | 504.1 μs | 963.5 μs | 1.19 ms | 3.48K/s | 6.79 GiB/s | 13.2% | Noisy (7.7% CV) |
| Go | 4 | 670.7 μs | 592.7 μs | 1.17 ms | 1.46 ms | 5.96K/s | 11.64 GiB/s | 18.6% | Noisy (9.4% CV) |
| Go | 8 | 876.2 μs | 794.9 μs | 1.51 ms | 1.86 ms | 9.12K/s | 17.82 GiB/s | 29.5% | Noisy (9.1% CV) |
| Go | 16 | 1.41 ms | 1.35 ms | 2.43 ms | 3.06 ms | 11.31K/s | 22.08 GiB/s | 46.3% | complete |
| Go | 1 | 56.9 μs | 52.8 μs | 68.6 μs | 167.7 μs | 17.49K/s | — | 4.9% | complete |
| Go | 2 | 64.0 μs | 55.0 μs | 140.9 μs | 217.2 μs | 31.13K/s | — | 8.7% | complete |
| Go | 4 | 80.1 μs | 58.2 μs | 230.1 μs | 297.7 μs | 49.8K/s | — | 13.3% | complete |
| Go | 8 | 120.3 μs | 73.1 μs | 355.4 μs | 410.3 μs | 66.35K/s | — | 21.0% | complete |
| Go | 16 | 287.3 μs | 227.3 μs | 734.9 μs | 1.15 ms | 55.61K/s | — | 26.3% | complete |
| Go | 1 | 806.9 μs | 751.6 μs | 1.12 ms | 1.35 ms | 1.24K/s | 2.42 GiB/s | 10.7% | complete |
| Go | 2 | 1.17 ms | 1.15 ms | 1.65 ms | 1.91 ms | 1.72K/s | 3.35 GiB/s | 13.6% | Noisy (7.1% CV) |
| Go | 4 | 1.26 ms | 1.18 ms | 1.92 ms | 2.30 ms | 3.17K/s | 6.20 GiB/s | 18.8% | Noisy (11.1% CV) |
| Go | 8 | 1.73 ms | 1.64 ms | 2.59 ms | 3.06 ms | 4.62K/s | 9.03 GiB/s | 30.4% | Noisy (9.1% CV) |
| Go | 16 | 3.11 ms | 2.96 ms | 5.02 ms | 6.02 ms | 5.14K/s | 10.05 GiB/s | 40.5% | complete |
| Go | 1 | 88.4 μs | 81.6 μs | 96.6 μs | 164.7 μs | 11.27K/s | — | 3.9% | complete |
| Go | 2 | 95.6 μs | 89.5 μs | 111.2 μs | 173.6 μs | 20.87K/s | — | 7.0% | complete |
| Go | 4 | 94.3 μs | 89.6 μs | 109.1 μs | 172.0 μs | 42.28K/s | — | 13.4% | complete |
| Go | 8 | 94.4 μs | 89.7 μs | 107.8 μs | 170.9 μs | 84.49K/s | — | 26.8% | complete |
| Go | 16 | 117.1 μs | 109.8 μs | 143.1 μs | 198.1 μs | 136.19K/s | — | 55.0% | complete |
| Go | 1 | 3.99 ms | 3.61 ms | 6.28 ms | 7.52 ms | 250.51/s | 501.0 MiB/s | 4.2% | complete |
| Go | 2 | 3.71 ms | 3.41 ms | 6.04 ms | 7.11 ms | 539.26/s | 1.05 GiB/s | 7.5% | complete |
| Go | 4 | 3.76 ms | 3.52 ms | 5.92 ms | 7.15 ms | 1.06K/s | 2.08 GiB/s | 13.9% | complete |
| Go | 8 | 3.96 ms | 3.80 ms | 5.45 ms | 7.79 ms | 2.02K/s | 3.95 GiB/s | 26.6% | complete |
| Go | 16 | 5.05 ms | 4.95 ms | 6.65 ms | 10.22 ms | 3.17K/s | 6.18 GiB/s | 50.4% | complete |
| Go | 1 | 42.0 μs | 40.7 μs | 44.6 μs | 92.8 μs | 23.69K/s | — | 5.5% | complete |
| Go | 2 | 57.8 μs | 58.4 μs | 67.7 μs | 144.1 μs | 34.43K/s | — | 7.4% | complete |
| Go | 4 | 53.6 μs | 44.9 μs | 117.5 μs | 207.6 μs | 74.27K/s | — | 20.1% | complete |
| Go | 8 | 97.5 μs | 56.7 μs | 262.6 μs | 299.7 μs | 81.8K/s | — | 29.9% | complete |
| Go | 16 | 196.0 μs | 106.9 μs | 536.8 μs | 667.4 μs | 81.5K/s | — | 34.4% | Noisy (9.9% CV) |
| Go | 1 | 509.4 μs | 457.7 μs | 760.8 μs | 927.4 μs | 1.96K/s | 3.83 GiB/s | 7.7% | complete |
| Go | 2 | 638.6 μs | 592.1 μs | 1.02 ms | 1.25 ms | 3.13K/s | 6.11 GiB/s | 12.1% | Noisy (6.1% CV) |
| Go | 4 | 705.5 μs | 629.5 μs | 1.18 ms | 1.45 ms | 5.67K/s | 11.07 GiB/s | 18.1% | Noisy (8.7% CV) |
| Go | 8 | 931.4 μs | 875.5 μs | 1.53 ms | 1.84 ms | 8.58K/s | 16.76 GiB/s | 27.2% | complete |
| Go | 16 | 1.44 ms | 1.39 ms | 2.36 ms | 2.93 ms | 11.13K/s | 21.74 GiB/s | 46.6% | complete |
| Rust | 1 | 21.7 μs | 21.4 μs | 22.4 μs | 22.9 μs | 45.67K/s | — | 4.8% | complete |
| Rust | 2 | 21.9 μs | 21.4 μs | 22.6 μs | 23.1 μs | 90.31K/s | — | 9.7% | complete |
| Rust | 4 | 21.8 μs | 21.4 μs | 22.6 μs | 23.1 μs | 181.6K/s | — | 19.6% | complete |
| Rust | 8 | 22.0 μs | 21.6 μs | 22.7 μs | 23.2 μs | 359.28K/s | — | 39.7% | complete |
| Rust | 16 | 22.0 μs | 21.6 μs | 22.8 μs | 25.9 μs | 719.23K/s | — | 84.2% | complete |
| Rust | 1 | 169.8 μs | 167.0 μs | 176.8 μs | 186.1 μs | 5.87K/s | 11.47 GiB/s | 5.5% | complete |
| Rust | 2 | 180.1 μs | 172.6 μs | 223.1 μs | 232.2 μs | 11.08K/s | 21.64 GiB/s | 11.1% | complete |
| Rust | 4 | 198.4 μs | 192.6 μs | 230.5 μs | 241.3 μs | 20.13K/s | 39.31 GiB/s | 21.8% | Noisy (5.4% CV) |
| Rust | 8 | 220.3 μs | 212.1 μs | 255.0 μs | 274.8 μs | 36.25K/s | 70.80 GiB/s | 42.8% | complete |
| Rust | 16 | 281.6 μs | 277.8 μs | 334.7 μs | 373.6 μs | 56.72K/s | 110.78 GiB/s | 85.0% | complete |
| Rust | 1 | 45.9 μs | 45.8 μs | 46.6 μs | 53.6 μs | 21.67K/s | — | 3.5% | complete |
| Rust | 2 | 48.4 μs | 48.2 μs | 49.5 μs | 56.9 μs | 41.11K/s | — | 6.8% | complete |
| Rust | 4 | 49.7 μs | 48.6 μs | 60.1 μs | 67.8 μs | 80.07K/s | — | 13.5% | complete |
| Rust | 8 | 52.3 μs | 50.3 μs | 65.9 μs | 76.9 μs | 152.13K/s | — | 26.4% | complete |
| Rust | 16 | 61.1 μs | 59.0 μs | 77.9 μs | 91.6 μs | 260.71K/s | — | 53.3% | complete |
| Rust | 1 | 1.08 ms | 1.10 ms | 1.21 ms | 1.24 ms | 928.31/s | 1.81 GiB/s | 4.4% | complete |
| Rust | 2 | 1.15 ms | 1.16 ms | 1.31 ms | 1.39 ms | 1.73K/s | 3.39 GiB/s | 8.6% | complete |
| Rust | 4 | 1.32 ms | 1.30 ms | 1.59 ms | 1.71 ms | 3.02K/s | 5.91 GiB/s | 17.0% | complete |
| Rust | 8 | 1.55 ms | 1.55 ms | 1.88 ms | 2.09 ms | 5.16K/s | 10.07 GiB/s | 35.3% | complete |
| Rust | 16 | 2.40 ms | 2.38 ms | 2.92 ms | 3.34 ms | 6.65K/s | 12.98 GiB/s | 68.8% | complete |
| Rust | 1 | 56.4 μs | 56.2 μs | 57.1 μs | 65.5 μs | 17.65K/s | — | 3.4% | complete |
| Rust | 2 | 59.4 μs | 59.2 μs | 60.7 μs | 69.0 μs | 33.52K/s | — | 6.6% | complete |
| Rust | 4 | 61.0 μs | 59.7 μs | 73.3 μs | 83.1 μs | 65.34K/s | — | 13.4% | complete |
| Rust | 8 | 62.2 μs | 60.8 μs | 72.2 μs | 85.1 μs | 128.02K/s | — | 26.6% | complete |
| Rust | 16 | 73.9 μs | 71.5 μs | 93.4 μs | 108.3 μs | 215.54K/s | — | 52.7% | complete |
| Rust | 1 | 1.96 ms | 2.05 ms | 2.08 ms | 2.09 ms | 510.29/s | 1020.6 MiB/s | 3.2% | Noisy (5.6% CV) |
| Rust | 2 | 2.32 ms | 2.08 ms | 3.03 ms | 3.05 ms | 862.53/s | 1.68 GiB/s | 5.4% | complete |
| Rust | 4 | 2.04 ms | 2.07 ms | 2.36 ms | 2.75 ms | 1.96K/s | 3.83 GiB/s | 12.1% | complete |
| Rust | 8 | 2.16 ms | 2.18 ms | 2.51 ms | 2.71 ms | 3.71K/s | 7.24 GiB/s | 23.7% | complete |
| Rust | 16 | 2.44 ms | 2.45 ms | 2.81 ms | 3.04 ms | 6.55K/s | 12.79 GiB/s | 47.8% | complete |
| Rust | 1 | 40.0 μs | 39.8 μs | 42.7 μs | 45.9 μs | 24.84K/s | — | 5.0% | complete |
| Rust | 2 | 42.4 μs | 41.5 μs | 44.5 μs | 49.7 μs | 46.9K/s | — | 9.8% | complete |
| Rust | 4 | 43.8 μs | 43.1 μs | 45.9 μs | 50.1 μs | 90.78K/s | — | 19.7% | complete |
| Rust | 8 | 45.8 μs | 44.8 μs | 47.6 μs | 53.4 μs | 173.64K/s | — | 39.3% | complete |
| Rust | 16 | 53.3 μs | 52.3 μs | 56.3 μs | 64.3 μs | 298.32K/s | — | 82.3% | complete |
| Rust | 1 | 235.2 μs | 232.3 μs | 245.3 μs | 250.9 μs | 4.25K/s | 8.29 GiB/s | 5.2% | complete |
| Rust | 2 | 238.3 μs | 234.4 μs | 249.7 μs | 258.4 μs | 8.38K/s | 16.36 GiB/s | 10.5% | complete |
| Rust | 4 | 250.5 μs | 242.2 μs | 261.7 μs | 272.3 μs | 15.94K/s | 31.14 GiB/s | 20.8% | complete |
| Rust | 8 | 276.2 μs | 267.3 μs | 294.9 μs | 307.6 μs | 28.92K/s | 56.48 GiB/s | 42.3% | complete |
| Rust | 16 | 338.8 μs | 326.1 μs | 362.4 μs | 485.4 μs | 47.14K/s | 92.08 GiB/s | 84.0% | complete |
| Java | 1 | 24.7 μs | 24.3 μs | 27.2 μs | 32.2 μs | 40.06K/s | — | 6.0% | complete |
| Java | 2 | 26.1 μs | 26.2 μs | 28.4 μs | 32.7 μs | 75.8K/s | — | 11.5% | complete |
| Java | 4 | 25.3 μs | 24.8 μs | 28.8 μs | 31.4 μs | 156.53K/s | — | 23.1% | complete |
| Java | 8 | 25.8 μs | 25.3 μs | 29.2 μs | 33.6 μs | 307.37K/s | — | 45.1% | complete |
| Java | 16 | 45.6 μs | 30.5 μs | 64.6 μs | 97.8 μs | 348.66K/s | — | 75.2% | complete |
| Java | 1 | 416.3 μs | 411.1 μs | 437.4 μs | 466.1 μs | 2.4K/s | 4.69 GiB/s | 5.6% | complete |
| Java | 2 | 427.8 μs | 422.4 μs | 450.8 μs | 476.1 μs | 4.67K/s | 9.12 GiB/s | 10.3% | complete |
| Java | 4 | 452.5 μs | 445.5 μs | 484.8 μs | 591.7 μs | 8.83K/s | 17.25 GiB/s | 19.7% | complete |
| Java | 8 | 528.9 μs | 521.2 μs | 569.3 μs | 686.8 μs | 15.11K/s | 29.51 GiB/s | 37.3% | complete |
| Java | 16 | 874.6 μs | 829.5 μs | 1.21 ms | 1.50 ms | 18.27K/s | 35.69 GiB/s | 70.4% | complete |
| Java | 1 | 54.2 μs | 52.5 μs | 62.9 μs | 85.1 μs | 18.37K/s | — | 5.2% | complete |
| Java | 2 | 54.7 μs | 53.8 μs | 57.1 μs | 67.7 μs | 36.41K/s | — | 7.9% | complete |
| Java | 4 | 55.2 μs | 54.3 μs | 57.6 μs | 68.0 μs | 72.15K/s | — | 15.4% | complete |
| Java | 8 | 57.3 μs | 55.2 μs | 67.8 μs | 81.3 μs | 138.99K/s | — | 30.8% | complete |
| Java | 16 | 77.8 μs | 75.0 μs | 99.2 μs | 118.8 μs | 204.66K/s | — | 61.4% | complete |
| Java | 1 | 1.16 ms | 1.12 ms | 1.25 ms | 2.64 ms | 863.18/s | 1.69 GiB/s | 5.2% | complete |
| Java | 2 | 1.18 ms | 1.17 ms | 1.30 ms | 1.58 ms | 1.69K/s | 3.30 GiB/s | 9.8% | complete |
| Java | 4 | 1.33 ms | 1.30 ms | 1.52 ms | 1.77 ms | 3K/s | 5.86 GiB/s | 17.5% | complete |
| Java | 8 | 1.78 ms | 1.74 ms | 2.02 ms | 2.49 ms | 4.5K/s | 8.80 GiB/s | 34.1% | complete |
| Java | 16 | 3.31 ms | 3.22 ms | 4.07 ms | 4.95 ms | 4.83K/s | 9.44 GiB/s | 65.0% | complete |
| Java | 1 | 76.2 μs | 72.8 μs | 88.5 μs | 137.0 μs | 13.08K/s | — | 5.0% | complete |
| Java | 2 | 75.2 μs | 73.7 μs | 82.9 μs | 92.3 μs | 26.5K/s | — | 8.0% | complete |
| Java | 4 | 75.1 μs | 73.9 μs | 79.9 μs | 89.2 μs | 53.08K/s | — | 14.8% | complete |
| Java | 8 | 79.0 μs | 75.9 μs | 92.5 μs | 112.9 μs | 100.86K/s | — | 29.3% | complete |
| Java | 16 | 106.2 μs | 102.9 μs | 129.5 μs | 157.4 μs | 150.17K/s | — | 58.9% | complete |
| Java | 1 | 1.68 ms | 1.64 ms | 1.81 ms | 3.12 ms | 594.39/s | 1.16 GiB/s | 4.1% | complete |
| Java | 2 | 1.66 ms | 1.65 ms | 1.76 ms | 2.08 ms | 1.2K/s | 2.35 GiB/s | 8.4% | complete |
| Java | 4 | 1.71 ms | 1.65 ms | 1.93 ms | 2.11 ms | 2.34K/s | 4.57 GiB/s | 13.7% | Noisy (5.7% CV) |
| Java | 8 | 1.91 ms | 1.87 ms | 2.24 ms | 2.49 ms | 4.18K/s | 8.17 GiB/s | 27.4% | complete |
| Java | 16 | 2.73 ms | 2.66 ms | 3.31 ms | 3.70 ms | 5.86K/s | 11.45 GiB/s | 53.5% | complete |
| Java | 1 | 27.8 μs | 27.3 μs | 30.4 μs | 36.1 μs | 35.63K/s | — | 6.4% | complete |
| Java | 2 | 28.9 μs | 28.6 μs | 30.7 μs | 36.5 μs | 68.68K/s | — | 12.3% | complete |
| Java | 4 | 30.1 μs | 29.6 μs | 32.1 μs | 38.2 μs | 131.89K/s | — | 24.8% | complete |
| Java | 8 | 31.0 μs | 30.2 μs | 35.7 μs | 41.6 μs | 255.66K/s | — | 47.8% | complete |
| Java | 16 | 60.6 μs | 37.4 μs | 75.4 μs | 110.3 μs | 262.37K/s | — | 76.0% | complete |
| Java | 1 | 446.4 μs | 441.2 μs | 471.7 μs | 497.4 μs | 2.24K/s | 4.37 GiB/s | 5.8% | complete |
| Java | 2 | 448.3 μs | 441.4 μs | 473.6 μs | 497.7 μs | 4.46K/s | 8.71 GiB/s | 10.2% | complete |
| Java | 4 | 474.3 μs | 466.8 μs | 509.2 μs | 620.2 μs | 8.43K/s | 16.46 GiB/s | 18.9% | complete |
| Java | 8 | 526.3 μs | 519.1 μs | 563.0 μs | 637.9 μs | 15.18K/s | 29.65 GiB/s | 36.5% | complete |
| Java | 16 | 798.9 μs | 763.6 μs | 1.03 ms | 1.37 ms | 20K/s | 39.06 GiB/s | 70.6% | complete |
| C++ | 1 | 23.2 μs | 23.0 μs | 24.1 μs | 29.2 μs | 42.61K/s | — | 4.7% | complete |
| C++ | 2 | 24.4 μs | 24.2 μs | 25.4 μs | 30.5 μs | 81.09K/s | — | 9.4% | complete |
| C++ | 4 | 24.7 μs | 24.5 μs | 25.8 μs | 30.7 μs | 160.25K/s | — | 19.1% | complete |
| C++ | 8 | 25.3 μs | 25.1 μs | 26.9 μs | 31.4 μs | 312.55K/s | — | 39.2% | complete |
| C++ | 16 | 27.2 μs | 27.0 μs | 28.7 μs | 33.6 μs | 582.8K/s | — | 82.9% | complete |
| C++ | 1 | 171.5 μs | 170.3 μs | 180.4 μs | 187.3 μs | 5.82K/s | 11.37 GiB/s | 5.5% | complete |
| C++ | 2 | 179.3 μs | 176.5 μs | 201.5 μs | 208.0 μs | 11.13K/s | 21.74 GiB/s | 11.1% | complete |
| C++ | 4 | 194.2 μs | 188.1 μs | 226.4 μs | 240.6 μs | 20.56K/s | 40.15 GiB/s | 21.8% | complete |
| C++ | 8 | 217.9 μs | 213.4 μs | 261.4 μs | 276.4 μs | 36.64K/s | 71.57 GiB/s | 43.8% | Noisy (5.1% CV) |
| C++ | 16 | 289.8 μs | 288.4 μs | 355.5 μs | 411.4 μs | 55.12K/s | 107.65 GiB/s | 86.1% | complete |
| C++ | 1 | 49.2 μs | 48.9 μs | 50.3 μs | 62.5 μs | 20.23K/s | — | 3.5% | complete |
| C++ | 2 | 49.7 μs | 49.3 μs | 51.2 μs | 63.2 μs | 40.03K/s | — | 6.9% | complete |
| C++ | 4 | 50.1 μs | 49.6 μs | 51.9 μs | 63.4 μs | 79.48K/s | — | 13.8% | complete |
| C++ | 8 | 51.1 μs | 50.5 μs | 55.7 μs | 65.8 μs | 155.67K/s | — | 27.9% | complete |
| C++ | 16 | 66.6 μs | 65.0 μs | 83.1 μs | 97.9 μs | 238.93K/s | — | 56.4% | complete |
| C++ | 1 | 614.2 μs | 595.0 μs | 814.7 μs | 1.09 ms | 1.63K/s | 3.18 GiB/s | 4.5% | complete |
| C++ | 2 | 640.4 μs | 619.5 μs | 823.5 μs | 1.16 ms | 3.12K/s | 6.09 GiB/s | 8.5% | complete |
| C++ | 4 | 717.0 μs | 696.4 μs | 886.9 μs | 1.26 ms | 5.57K/s | 10.89 GiB/s | 17.3% | complete |
| C++ | 8 | 1.13 ms | 1.11 ms | 1.34 ms | 1.79 ms | 7.07K/s | 13.80 GiB/s | 32.5% | complete |
| C++ | 16 | 2.03 ms | 1.99 ms | 2.52 ms | 3.20 ms | 7.87K/s | 15.37 GiB/s | 64.8% | complete |
| C++ | 1 | 68.6 μs | 68.0 μs | 70.7 μs | 83.4 μs | 14.53K/s | — | 3.4% | complete |
| C++ | 2 | 69.2 μs | 68.7 μs | 71.2 μs | 83.5 μs | 28.79K/s | — | 6.7% | complete |
| C++ | 4 | 69.4 μs | 68.8 μs | 71.4 μs | 83.4 μs | 57.44K/s | — | 13.4% | complete |
| C++ | 8 | 70.4 μs | 69.6 μs | 76.7 μs | 86.7 μs | 113.16K/s | — | 27.0% | complete |
| C++ | 16 | 89.3 μs | 87.3 μs | 109.3 μs | 125.6 μs | 178.42K/s | — | 54.9% | complete |
| C++ | 1 | 1.38 ms | 1.26 ms | 1.96 ms | 2.29 ms | 724.03/s | 1.41 GiB/s | 3.2% | complete |
| C++ | 2 | 1.38 ms | 1.27 ms | 1.91 ms | 2.19 ms | 1.45K/s | 2.83 GiB/s | 6.4% | complete |
| C++ | 4 | 1.41 ms | 1.30 ms | 1.99 ms | 2.33 ms | 2.84K/s | 5.55 GiB/s | 12.7% | complete |
| C++ | 8 | 1.62 ms | 1.48 ms | 2.34 ms | 2.66 ms | 4.95K/s | 9.66 GiB/s | 25.4% | complete |
| C++ | 16 | 2.18 ms | 2.03 ms | 3.25 ms | 3.66 ms | 7.32K/s | 14.30 GiB/s | 50.9% | complete |
| C++ | 1 | 37.7 μs | 36.8 μs | 41.3 μs | 45.5 μs | 26.35K/s | — | 5.1% | complete |
| C++ | 2 | 39.0 μs | 38.5 μs | 42.7 μs | 47.1 μs | 50.93K/s | — | 10.4% | complete |
| C++ | 4 | 40.1 μs | 39.6 μs | 43.8 μs | 48.3 μs | 99.11K/s | — | 20.9% | complete |
| C++ | 8 | 41.5 μs | 40.9 μs | 45.2 μs | 49.7 μs | 191.68K/s | — | 42.5% | complete |
| C++ | 16 | 53.9 μs | 53.7 μs | 58.1 μs | 63.5 μs | 295.04K/s | — | 84.4% | complete |
| C++ | 1 | 226.9 μs | 225.8 μs | 238.9 μs | 245.4 μs | 4.4K/s | 8.59 GiB/s | 5.2% | complete |
| C++ | 2 | 235.3 μs | 233.7 μs | 248.7 μs | 257.7 μs | 8.48K/s | 16.57 GiB/s | 10.5% | complete |
| C++ | 4 | 240.9 μs | 239.0 μs | 258.7 μs | 271.0 μs | 16.57K/s | 32.37 GiB/s | 21.5% | complete |
| C++ | 8 | 257.8 μs | 254.5 μs | 281.5 μs | 298.0 μs | 30.98K/s | 60.51 GiB/s | 43.2% | complete |
| C++ | 16 | 332.3 μs | 327.5 μs | 362.8 μs | 485.0 μs | 48.06K/s | 93.86 GiB/s | 85.7% | complete |
| Rust | 1 | 17.7 μs | 17.7 μs | 18.5 μs | 18.9 μs | 56.22K/s | — | — | complete |
| Rust | 1 | 21.6 μs | 21.6 μs | 22.2 μs | 22.6 μs | 46.09K/s | — | — | complete |
| Rust | 1 | 21.8 μs | 21.8 μs | 22.6 μs | 23.0 μs | 45.72K/s | — | — | complete |
| Rust | 1 | 26.6 μs | 26.4 μs | 27.7 μs | 29.0 μs | 37.53K/s | 73.3 MiB/s | — | complete |
| Rust | 1 | 37.5 μs | 37.4 μs | 38.4 μs | 42.6 μs | 26.64K/s | 3.25 GiB/s | — | complete |
| Rust | 1 | 187.9 μs | 187.3 μs | 196.9 μs | 204.5 μs | 5.32K/s | 10.39 GiB/s | — | complete |
| Rust | 1 | 11.10 ms | 11.10 ms | 11.42 ms | 11.59 ms | 90.12/s | 2.82 GiB/s | — | complete |
| Rust | 1 | 41.3 μs | 41.2 μs | 41.9 μs | 48.2 μs | 24.16K/s | — | — | complete |
| Rust | 1 | 46.0 μs | 45.8 μs | 46.6 μs | 54.2 μs | 21.72K/s | — | — | complete |
| Rust | 1 | 45.6 μs | 45.4 μs | 46.2 μs | 53.9 μs | 21.91K/s | — | — | complete |
| Rust | 1 | 44.8 μs | 44.6 μs | 45.7 μs | 52.7 μs | 22.29K/s | 43.5 MiB/s | — | complete |
| Rust | 1 | 93.3 μs | 97.5 μs | 103.3 μs | 111.9 μs | 10.71K/s | 1.31 GiB/s | — | complete |
| Rust | 1 | 1.06 ms | 1.08 ms | 1.20 ms | 1.26 ms | 940.51/s | 1.84 GiB/s | — | complete |
| Rust | 1 | 47.04 ms | 47.20 ms | 51.39 ms | 52.55 ms | 21.26/s | 680.3 MiB/s | — | complete |
| Rust | 1 | 9.68 μs | 9.62 μs | 9.90 μs | 10.5 μs | 102.76K/s | — | — | complete |
| Rust | 1 | 14.3 μs | 14.2 μs | 14.4 μs | 14.5 μs | 69.91K/s | — | — | complete |
| Rust | 1 | 13.9 μs | 13.8 μs | 14.0 μs | 14.2 μs | 71.83K/s | — | — | complete |
| Rust | 1 | 12.8 μs | 12.8 μs | 13.0 μs | 13.3 μs | 77.95K/s | 152.2 MiB/s | — | complete |
| Rust | 1 | 38.4 μs | 38.3 μs | 39.0 μs | 43.2 μs | 25.98K/s | 3.17 GiB/s | — | complete |
| Rust | 1 | 259.3 μs | 246.8 μs | 304.8 μs | 316.9 μs | 3.86K/s | 7.53 GiB/s | — | complete |
| Rust | 1 | 9.33 ms | 9.35 ms | 9.67 ms | 9.86 ms | 107.14/s | 3.35 GiB/s | — | complete |
| Rust | 1 | 50.5 μs | 50.0 μs | 54.6 μs | 60.2 μs | 19.78K/s | — | — | complete |
| Rust | 1 | 57.6 μs | 57.0 μs | 63.4 μs | 68.1 μs | 17.34K/s | — | — | complete |
| Rust | 1 | 55.4 μs | 55.2 μs | 56.1 μs | 65.5 μs | 18.04K/s | — | — | complete |
| Rust | 1 | 64.9 μs | 64.7 μs | 65.6 μs | 75.4 μs | 15.39K/s | 30.1 MiB/s | — | complete |
| Rust | 1 | 166.6 μs | 166.0 μs | 173.3 μs | 181.7 μs | 6K/s | 749.9 MiB/s | — | complete |
| Rust | 1 | 1.92 ms | 1.84 ms | 2.10 ms | 2.15 ms | 520.15/s | 1.02 GiB/s | — | complete |
| Rust | 1 | 45.73 ms | 45.67 ms | 46.25 ms | 46.39 ms | 21.87/s | 699.8 MiB/s | — | complete |
| Rust | 1 | 8.59 μs | 8.57 μs | 8.74 μs | 8.81 μs | 115.68K/s | — | — | complete |
| Rust | 1 | 13.1 μs | 13.2 μs | 13.4 μs | 13.7 μs | 76.18K/s | — | — | complete |
| Rust | 1 | 12.7 μs | 12.7 μs | 13.0 μs | 13.2 μs | 78.14K/s | — | — | complete |
| Rust | 1 | 11.6 μs | 11.6 μs | 11.8 μs | 11.9 μs | 85.72K/s | 167.4 MiB/s | — | complete |
| Rust | 1 | 37.9 μs | 37.7 μs | 38.6 μs | 42.5 μs | 26.37K/s | 3.22 GiB/s | — | complete |
| Rust | 1 | 447.8 μs | 446.7 μs | 462.6 μs | 467.1 μs | 2.23K/s | 4.36 GiB/s | — | complete |
| Rust | 1 | 17.92 ms | 17.88 ms | 18.50 ms | 19.42 ms | 55.8/s | 1.74 GiB/s | — | complete |
| Rust | 1 | 33.5 μs | 33.1 μs | 36.5 μs | 39.4 μs | 29.81K/s | — | — | complete |
| Rust | 1 | 39.3 μs | 39.0 μs | 41.8 μs | 45.9 μs | 25.42K/s | — | — | complete |
| Rust | 1 | 40.4 μs | 40.2 μs | 42.7 μs | 47.1 μs | 24.73K/s | — | — | complete |
| Rust | 1 | 56.8 μs | 56.3 μs | 60.4 μs | 66.6 μs | 17.59K/s | 34.3 MiB/s | — | complete |
| Rust | 1 | 68.4 μs | 68.0 μs | 71.8 μs | 79.4 μs | 14.6K/s | 1.78 GiB/s | — | complete |
| Rust | 1 | 259.1 μs | 258.1 μs | 271.3 μs | 277.8 μs | 3.86K/s | 7.54 GiB/s | — | complete |
| Rust | 1 | 10.71 ms | 10.66 ms | 11.13 ms | 11.57 ms | 93.41/s | 2.92 GiB/s | — | complete |
What is excluded
In-process pipes, WSGI test clients, debug builds, unpinned working trees, first-call startup time, and results from shared CI hosts are not used for cross-language claims.
Methodology
- Release builds from isolated checkouts pinned to the commits above.
- Python HTTP uses pinned Granian 2.8.1 with 16 worker processes and one blocking thread each.
- Java runs on Amazon Corretto 25.0.4 so negotiated shared memory uses the JDK 22+ FFM implementation.
- Latency uses a one-second warm-up and five one-second rounds; unstable cases receive two extension rounds.
- Mean, P50, P95, and P99 use all steady-state wall-clock samples—not the fastest sample.
- Scaling uses fresh servers at 1, 2, 4, 8, and 16 clients, with three two-second rounds and two extensions when noisy.
- Scaling records call rate, latency, and whole-host CPU utilization for unary and 1 MiB echo workloads.
- Binary echo throughput counts application payload in both request and response directions.
- Publishable runs require an approved ARM64 host and a pre-run load average below 2.0.
- Quick and partial matrices are rejected; failed scenarios remain visible with their captured errors.
Results compare only within one snapshot, host, workload, and benchmark layer. They are not universal hardware-independent rankings.