Skip to content

Latest commit

 

History

History
392 lines (327 loc) · 28.5 KB

File metadata and controls

392 lines (327 loc) · 28.5 KB

Windows Benchmark Results

Generated: 2026-04-04 04:33:40 UTC

Machine: win11 (x86_64)

CSV: proof-full-current-warmup-affinity.csv

Complete matrix rows expected: 201

Methodology

  • The current Windows runner publishes one CSV row per matrix cell after aggregating repeated measurements.
  • Current runner defaults: 5 samples per cell.
  • Fixed-rate rows use 5s samples by default.
  • Most max-tier rows use 10s samples by default.
  • np-pipeline-batch-d16 @ max uses 20s samples by default because the 10s window was not stable enough on win11.
  • Throughput publication is strict on the full raw repeated sample set for max-tier rows and attainable fixed-rate rows.
  • Every repeated row must keep raw max/min <= 1.35; one lucky or unlucky extreme is no longer publishable.
  • With 5 samples, the runner still computes the trimmed stable core for diagnostics.
  • Oversubscribed fixed-rate rows are the one exception: when the requested target is above the same pair's already-measured @ max capacity, the row may still publish if the trimmed stable core contains at least 3 samples and stays within max/min <= 1.35.
  • This keeps the Windows 100000/s saturation-style rows visible without pretending they are attainable fixed-rate commitments.
  • The script CLI duration still controls the fixed-rate rows; NIPC_BENCH_MAX_DURATION controls most max-tier rows; NIPC_BENCH_PIPELINE_BATCH_MAX_DURATION controls np-pipeline-batch-d16 @ max.

Validation Summary

Scenario Target RPS Expected Rows Actual Rows
np-ping-pong 0 9 9
np-ping-pong 100000 9 9
np-ping-pong 10000 9 9
np-ping-pong 1000 9 9
shm-ping-pong 0 9 9
shm-ping-pong 100000 9 9
shm-ping-pong 10000 9 9
shm-ping-pong 1000 9 9
np-batch-ping-pong 0 9 9
np-batch-ping-pong 100000 9 9
np-batch-ping-pong 10000 9 9
np-batch-ping-pong 1000 9 9
shm-batch-ping-pong 0 9 9
shm-batch-ping-pong 100000 9 9
shm-batch-ping-pong 10000 9 9
shm-batch-ping-pong 1000 9 9
snapshot-baseline 0 9 9
snapshot-baseline 1000 9 9
snapshot-shm 0 9 9
snapshot-shm 1000 9 9
lookup 0 3 3
np-pipeline-d16 0 9 9
np-pipeline-batch-d16 0 9 9

Named Pipe Ping-Pong

Max throughput

Client Server Throughput p50 (us) p95 (us) p99 (us) Client CPU Server CPU Total CPU
c c 21.2k 43.100 71.200 98.700 23.900% 22.969% 47.506%
c go 63.7k 12.800 49.400 84.400 38.200% 82.969% 122.538%
c rust 42.0k 14.900 49.500 82.500 26.000% 76.719% 102.012%
go c 21.0k 44.000 85.600 118.900 30.700% 24.531% 53.600%
go go 61.6k 13.300 59.200 99.200 46.300% 86.406% 133.175%
go rust 34.5k 17.500 64.400 96.500 29.400% 76.094% 104.981%
rust c 22.4k 43.000 68.200 92.000 23.000% 24.219% 48.012%
rust go 66.5k 12.800 49.700 85.600 39.400% 84.531% 123.831%
rust rust 40.9k 15.100 50.600 86.600 26.200% 77.500% 104.588%

100000 req/s target

Client Server Throughput p50 (us) p95 (us) p99 (us) Client CPU Server CPU Total CPU
c c 20.3k 43.200 68.600 94.900 32.500% 22.812% 53.212%
c go 47.8k 12.800 51.700 91.200 48.600% 84.062% 132.950%
c rust 46.2k 19.800 50.200 79.800 42.200% 85.625% 127.825%
go c 20.0k 43.900 87.100 121.600 31.000% 20.938% 53.738%
go go 60.9k 13.700 54.100 87.300 47.300% 86.875% 132.588%
go rust 33.8k 17.600 63.900 109.200 28.800% 79.688% 107.788%
rust c 19.7k 43.400 76.000 107.400 33.800% 23.125% 55.700%
rust go 49.1k 12.800 51.700 89.100 46.300% 84.688% 130.988%
rust rust 44.3k 19.700 49.800 79.900 43.100% 85.000% 127.875%

10000 req/s target

Client Server Throughput p50 (us) p95 (us) p99 (us) Client CPU Server CPU Total CPU
c c 10.0k 45.200 89.200 160.000 54.500% 9.062% 63.187%
c go 10.0k 13.500 69.600 157.900 87.200% 90.312% 177.088%
c rust 10.0k 19.700 59.900 103.400 81.600% 91.562% 172.612%
go c 10.0k 48.800 103.600 255.300 61.100% 15.000% 75.150%
go go 10.0k 16.300 90.000 239.500 82.900% 89.062% 171.962%
go rust 10.0k 21.400 83.100 241.300 75.400% 93.125% 167.925%
rust c 10.0k 44.500 85.600 133.500 53.400% 15.000% 71.425%
rust go 10.0k 13.200 64.300 146.500 88.000% 92.188% 180.188%
rust rust 10.0k 19.600 63.300 126.100 79.600% 90.312% 169.712%

1000 req/s target

Client Server Throughput p50 (us) p95 (us) p99 (us) Client CPU Server CPU Total CPU
c c 1.0k 61.300 183.700 368.800 84.200% 1.875% 85.975%
c go 1.0k 72.800 1431.400 1578.200 47.200% 40.938% 88.612%
c rust 1.0k 20.400 67.900 138.300 95.200% 95.625% 190.825%
go c 1.0k 62.900 180.000 323.700 85.800% 1.875% 87.975%
go go 1.0k 123.800 1241.300 1430.800 51.600% 38.438% 90.338%
go rust 1.0k 22.900 90.300 1258.400 90.000% 89.375% 179.375%
rust c 1.0k 64.400 183.000 375.600 83.900% 0.938% 87.962%
rust go 1.0k 72.500 1447.000 1525.500 50.300% 43.125% 93.738%
rust rust 1.0k 21.000 65.100 104.000 95.200% 94.688% 188.638%

Win SHM Ping-Pong

Max throughput

Client Server Throughput p50 (us) p95 (us) p99 (us) Client CPU Server CPU Total CPU
c c 2.78M 3.700 8.900 15.800 95.500% 95.156% 190.938%
c go 2.40M 3.700 9.400 29.500 91.500% 91.250% 182.750%
c rust 2.86M 3.700 8.600 15.300 96.100% 95.938% 191.725%
go c 1.89M 3.800 9.000 61.800 89.700% 85.781% 175.481%
go go 1.63M 3.900 9.600 60.000 93.300% 93.438% 186.738%
go rust 1.88M 3.800 9.000 61.900 89.300% 86.250% 174.769%
rust c 2.82M 3.700 8.500 15.100 96.500% 96.562% 193.062%
rust go 2.28M 3.800 9.300 29.500 94.200% 92.344% 186.944%
rust rust 2.70M 3.700 9.300 16.600 95.500% 95.000% 190.600%

100000 req/s target

Client Server Throughput p50 (us) p95 (us) p99 (us) Client CPU Server CPU Total CPU
c c 100.0k 3.600 9.100 35.600 96.300% 95.625% 191.712%
c go 100.0k 3.700 13.400 55.600 94.800% 92.500% 187.338%
c rust 100.0k 3.600 11.000 38.700 94.700% 93.750% 189.250%
go c 100.0k 3.900 68.800 113.300 87.100% 19.375% 106.775%
go go 100.0k 4.000 92.400 133.000 88.000% 41.250% 130.312%
go rust 100.0k 4.000 69.800 137.300 87.300% 20.938% 108.238%
rust c 100.0k 3.700 10.300 33.600 96.500% 95.000% 191.600%
rust go 100.0k 3.700 14.700 56.300 93.000% 92.188% 185.288%
rust rust 100.0k 3.700 9.800 31.100 97.100% 96.250% 193.350%

10000 req/s target

Client Server Throughput p50 (us) p95 (us) p99 (us) Client CPU Server CPU Total CPU
c c 10.0k 22.200 75.700 137.800 86.600% 39.062% 126.262%
c go 10.0k 3.900 31.300 109.500 94.800% 90.938% 183.238%
c rust 10.0k 22.300 65.600 163.200 84.400% 37.812% 124.088%
go c 10.0k 4.700 101.300 255.600 89.100% 12.500% 100.350%
go go 10.0k 4.400 104.100 233.600 90.900% 37.188% 128.388%
go rust 10.0k 5.200 102.700 275.300 86.800% 14.062% 99.800%
rust c 10.0k 22.000 54.300 115.800 86.100% 39.688% 125.488%
rust go 10.0k 3.900 34.600 97.500 95.400% 92.812% 188.312%
rust rust 10.0k 22.500 56.800 152.100 87.100% 41.875% 125.375%

1000 req/s target

Client Server Throughput p50 (us) p95 (us) p99 (us) Client CPU Server CPU Total CPU
c c 1.0k 37.900 214.200 301.500 85.500% 6.250% 92.062%
c go 1.0k 27.700 123.400 194.100 91.600% 22.188% 113.788%
c rust 1.0k 32.700 171.400 296.800 89.300% 5.938% 92.025%
go c 1.0k 34.000 143.200 351.600 89.900% 3.125% 94.712%
go go 1.0k 32.500 128.600 302.600 92.200% 24.688% 116.662%
go rust 1.0k 47.500 154.800 790.400 93.300% 4.062% 97.300%
rust c 1.0k 29.100 183.400 291.800 86.500% 3.750% 88.825%
rust go 1.0k 28.800 214.000 303.400 89.700% 21.875% 111.575%
rust rust 1.0k 39.300 267.000 507.200 87.200% 4.375% 93.475%

Named Pipe Batch Ping-Pong

Max throughput

Client Server Throughput p50 (us) p95 (us) p99 (us) Client CPU Server CPU Total CPU
c c 9.16M 51.800 85.700 111.300 28.300% 28.438% 56.594%
c go 8.89M 38.800 80.700 168.100 21.400% 69.219% 91.075%
c rust 9.61M 38.000 75.600 123.800 24.900% 76.250% 101.569%
go c 8.73M 53.300 96.100 142.700 34.500% 28.750% 62.563%
go go 9.21M 39.800 87.000 224.800 30.200% 72.812% 103.412%
go rust 9.56M 39.300 83.700 162.700 29.400% 79.062% 106.931%
rust c 8.92M 51.800 86.300 122.100 30.600% 28.594% 59.725%
rust go 8.76M 38.700 82.100 196.300 23.000% 68.281% 91.762%
rust rust 9.50M 37.800 74.900 149.300 25.300% 75.781% 100.925%

100000 req/s target

Client Server Throughput p50 (us) p95 (us) p99 (us) Client CPU Server CPU Total CPU
c c 8.45M 52.000 89.300 121.100 31.600% 27.812% 61.312%
c go 8.60M 38.900 79.200 181.700 28.800% 71.875% 99.075%
c rust 8.84M 37.500 75.200 118.300 29.700% 77.500% 107.200%
go c 8.79M 53.600 94.900 137.000 34.700% 29.063% 63.175%
go go 8.81M 39.900 90.700 225.800 28.400% 70.938% 99.025%
go rust 9.76M 39.400 83.900 217.300 29.700% 80.000% 108.450%
rust c 8.49M 51.800 84.000 111.600 32.800% 25.938% 59.438%
rust go 8.19M 38.600 84.300 210.400 30.100% 69.688% 99.462%
rust rust 8.62M 37.500 73.900 109.600 26.900% 77.188% 105.975%

10000 req/s target

Client Server Throughput p50 (us) p95 (us) p99 (us) Client CPU Server CPU Total CPU
c c 5.04M 53.000 96.000 132.500 64.800% 18.750% 82.925%
c go 5.04M 40.600 89.700 204.000 56.400% 80.625% 138.588%
c rust 5.04M 39.600 83.300 186.200 57.600% 85.312% 143.850%
go c 5.01M 56.700 116.700 223.100 52.300% 22.188% 75.738%
go go 5.01M 42.200 103.700 250.200 58.800% 81.562% 140.362%
go rust 5.01M 41.600 97.100 239.800 63.400% 88.750% 150.688%
rust c 5.04M 52.500 93.300 124.200 56.700% 17.188% 70.975%
rust go 5.04M 40.100 96.700 246.000 57.500% 82.500% 140.600%
rust rust 5.04M 38.800 84.100 167.500 58.200% 85.938% 143.825%

1000 req/s target

Client Server Throughput p50 (us) p95 (us) p99 (us) Client CPU Server CPU Total CPU
c c 505.3k 76.100 290.600 588.200 81.600% 3.438% 85.350%
c go 505.2k 97.600 1444.900 1562.800 46.900% 39.375% 87.250%
c rust 505.3k 42.500 103.100 240.500 93.300% 95.938% 188.925%
go c 499.0k 81.300 260.200 566.500 83.200% 3.125% 88.200%
go go 500.1k 125.900 1203.100 1373.700 51.000% 42.500% 92.900%
go rust 501.5k 51.300 126.200 827.700 87.400% 87.812% 175.012%
rust c 505.3k 80.200 210.100 329.200 78.800% 4.062% 82.725%
rust go 505.2k 85.000 1426.000 1672.400 47.200% 39.688% 86.888%
rust rust 505.3k 42.000 90.500 156.700 95.600% 94.062% 189.762%

Win SHM Batch Ping-Pong

Max throughput

Client Server Throughput p50 (us) p95 (us) p99 (us) Client CPU Server CPU Total CPU
c c 62.96M 9.800 18.800 55.700 94.200% 94.688% 189.375%
c go 44.18M 12.200 30.300 83.600 91.500% 91.562% 183.362%
c rust 59.28M 10.300 18.800 58.200 94.800% 95.469% 190.112%
go c 46.87M 10.200 34.400 81.100 89.200% 86.562% 175.719%
go go 39.04M 12.500 49.800 95.300 90.700% 92.812% 183.681%
go rust 43.97M 10.900 37.300 79.000 89.900% 87.344% 176.619%
rust c 58.43M 9.700 18.100 54.200 95.300% 94.844% 190.244%
rust go 42.47M 12.300 29.800 81.300 91.400% 91.562% 182.650%
rust rust 53.97M 10.400 19.800 59.800 94.600% 94.531% 188.931%

100000 req/s target

Client Server Throughput p50 (us) p95 (us) p99 (us) Client CPU Server CPU Total CPU
c c 40.73M 9.700 18.200 58.200 94.300% 94.062% 189.112%
c go 30.97M 12.200 30.200 83.700 91.700% 93.125% 186.175%
c rust 37.76M 10.400 21.700 65.900 95.600% 94.688% 190.825%
go c 47.11M 10.400 33.900 78.100 92.000% 88.438% 180.438%
go go 39.71M 12.300 44.400 97.600 89.700% 91.250% 180.950%
go rust 43.01M 11.000 38.000 79.600 90.000% 83.438% 173.100%
rust c 37.44M 9.500 18.500 60.600 95.500% 95.625% 191.462%
rust go 30.03M 12.000 28.900 80.500 94.100% 92.188% 186.288%
rust rust 36.27M 10.100 18.900 58.500 94.400% 94.688% 189.088%

10000 req/s target

Client Server Throughput p50 (us) p95 (us) p99 (us) Client CPU Server CPU Total CPU
c c 5.04M 28.100 78.300 171.600 86.000% 44.062% 128.175%
c go 5.04M 13.300 46.100 104.700 94.900% 91.562% 186.262%
c rust 5.04M 28.800 74.200 152.100 86.900% 43.750% 131.275%
go c 5.00M 17.300 106.700 254.900 87.900% 21.562% 108.125%
go go 5.01M 17.000 114.000 299.400 87.700% 46.562% 133.888%
go rust 5.00M 23.200 114.900 274.800 87.600% 24.062% 113.225%
rust c 5.04M 27.800 59.600 116.500 88.100% 42.500% 130.225%
rust go 5.04M 13.500 63.900 135.700 94.200% 91.250% 186.350%
rust rust 5.04M 28.300 60.300 109.700 88.700% 45.938% 133.738%

1000 req/s target

Client Server Throughput p50 (us) p95 (us) p99 (us) Client CPU Server CPU Total CPU
c c 505.3k 76.800 212.700 310.200 86.100% 5.938% 91.725%
c go 505.3k 38.000 258.500 549.500 88.600% 20.000% 108.600%
c rust 505.2k 43.800 245.200 341.700 86.800% 7.812% 94.812%
go c 504.1k 55.600 170.900 276.800 93.800% 3.750% 97.338%
go go 501.4k 47.500 225.700 287.200 92.300% 22.812% 116.112%
go rust 495.1k 56.700 249.900 315.200 93.200% 5.312% 99.138%
rust c 505.3k 37.000 166.500 219.100 87.800% 3.438% 92.600%
rust go 505.3k 36.100 166.200 355.900 87.800% 21.562% 111.162%
rust rust 505.3k 38.900 196.800 366.200 89.500% 5.000% 93.562%

Snapshot Named Pipe Refresh

Max throughput

Client Server Throughput p50 (us) p95 (us) p99 (us) Client CPU Server CPU Total CPU
c c 21.9k 43.600 71.300 102.700 23.100% 25.938% 49.819%
c go 62.2k 12.900 50.500 86.400 39.900% 83.906% 124.738%
c rust 39.8k 19.400 50.800 82.200 26.000% 79.062% 102.975%
go c 20.7k 45.000 86.400 115.400 29.600% 25.156% 52.925%
go go 62.1k 13.500 57.900 93.300 48.900% 87.188% 136.088%
go rust 34.2k 18.100 65.200 99.200 29.200% 76.250% 104.850%
rust c 21.7k 44.000 72.700 96.800 24.900% 25.312% 50.525%
rust go 62.8k 13.000 51.900 84.000 42.000% 84.062% 124.969%
rust rust 37.9k 19.900 52.000 87.300 26.800% 77.188% 103.988%

1000 req/s target

Client Server Throughput p50 (us) p95 (us) p99 (us) Client CPU Server CPU Total CPU
c c 1.0k 68.900 226.500 421.100 84.900% 1.875% 88.838%
c go 1.0k 79.100 1449.900 1506.200 49.700% 43.125% 92.825%
c rust 1.0k 21.700 67.100 158.500 95.900% 95.312% 190.962%
go c 1.0k 70.400 250.100 553.200 84.900% 2.188% 86.775%
go go 1.0k 64.900 1202.500 1655.500 52.600% 42.188% 94.475%
go rust 1.0k 26.300 99.200 1214.100 90.700% 90.312% 180.238%
rust c 1.0k 72.800 202.900 371.100 83.800% 3.750% 87.300%
rust go 1.0k 80.100 1461.700 1602.400 50.900% 40.312% 90.788%
rust rust 1.0k 21.800 84.600 334.800 94.300% 95.312% 189.812%

Snapshot Win SHM Refresh

Max throughput

Client Server Throughput p50 (us) p95 (us) p99 (us) Client CPU Server CPU Total CPU
c c 1.20M 4.100 9.800 17.300 95.300% 94.375% 189.562%
c go 1.01M 4.200 11.100 32.500 92.000% 92.656% 185.594%
c rust 1.34M 4.000 9.900 17.300 95.400% 95.312% 191.056%
go c 814.7k 4.400 11.100 62.400 90.000% 87.812% 177.712%
go go 783.6k 4.500 10.600 61.400 92.100% 92.812% 184.444%
go rust 861.5k 4.400 10.500 63.000 88.800% 87.031% 174.731%
rust c 1.24M 4.100 9.700 17.000 96.100% 94.844% 190.944%
rust go 1.00M 4.200 10.800 32.900 91.500% 92.344% 183.562%
rust rust 1.33M 4.100 9.800 16.900 95.600% 95.000% 190.238%

1000 req/s target

Client Server Throughput p50 (us) p95 (us) p99 (us) Client CPU Server CPU Total CPU
c c 1.0k 32.800 151.100 365.300 88.900% 4.688% 94.475%
c go 1.0k 30.100 240.600 404.200 91.300% 20.625% 111.925%
c rust 1.0k 67.300 201.500 278.800 86.400% 3.750% 89.750%
go c 1.0k 40.700 177.300 377.200 92.800% 4.062% 96.838%
go go 1.0k 33.900 124.700 548.300 92.700% 23.125% 115.825%
go rust 1.0k 42.100 173.000 272.400 93.200% 3.750% 98.238%
rust c 1.0k 37.100 182.800 713.800 88.900% 4.062% 94.475%
rust go 1.0k 32.400 212.000 401.100 91.200% 23.438% 114.638%
rust rust 1.0k 41.600 275.600 512.500 88.700% 5.000% 91.862%

Named Pipe Pipeline

Max throughput

Client Server Throughput p50 (us) p95 (us) p99 (us) Client CPU Server CPU Total CPU
c c 296.6k 51.600 91.600 119.900 48.800% 42.812% 91.612%
c go 180.0k 66.900 140.900 292.500 45.000% 83.594% 127.875%
c rust 86.0k 121.500 207.700 937.400 31.100% 78.438% 110.631%
go c 245.2k 43.100 105.200 215.400 54.900% 35.625% 90.325%
go go 202.3k 65.200 128.800 212.000 59.700% 88.281% 148.775%
go rust 89.0k 124.700 209.500 902.200 38.600% 79.844% 119.412%
rust c 293.4k 51.500 90.600 114.400 50.000% 45.625% 93.925%
rust go 181.8k 67.300 135.300 244.700 47.700% 82.656% 128.794%
rust rust 86.6k 122.300 207.700 977.600 31.900% 78.438% 111.119%

Named Pipe Pipeline+Batch

Max throughput

Client Server Throughput p50 (us) p95 (us) p99 (us) Client CPU Server CPU Total CPU
c c 51.43M 132.600 239.100 481.200 71.400% 72.734% 144.303%
c go 27.15M 219.600 363.200 1176.700 39.700% 77.578% 117.488%
c rust 26.65M 229.600 351.100 1204.000 40.300% 84.297% 124.497%
go c 48.49M 140.900 254.400 566.900 79.000% 66.094% 144.494%
go go 29.82M 212.800 339.000 975.600 51.900% 81.484% 133.016%
go rust 28.01M 231.000 345.600 1197.400 51.600% 86.719% 137.769%
rust c 51.19M 133.000 235.600 558.700 73.800% 69.766% 142.628%
rust go 27.18M 220.500 371.500 1351.900 41.300% 77.422% 118.722%
rust rust 26.57M 230.300 353.500 1202.500 42.100% 84.219% 126.519%

Local Cache Lookup

Language Throughput Client CPU Total CPU
c 135.90M 98.300% 98.300%
go 114.99M 97.700% 97.700%
rust 189.13M 98.100% 98.100%

Performance Floors

Metric Floor Status
Win SHM ping-pong max (C/Rust pairs) >= 1M req/s PASS
Named Pipe ping-pong max > 0 req/s PASS
Local cache lookup >= 10M lookups/s PASS