Skip to content

typev: update runtime, improves gc & memory reclamation#758

Merged
MDA2AV merged 21 commits into
MDA2AV:mainfrom
praisethemoon:sch/typev-v17
May 25, 2026
Merged

typev: update runtime, improves gc & memory reclamation#758
MDA2AV merged 21 commits into
MDA2AV:mainfrom
praisethemoon:sch/typev-v17

Conversation

@praisethemoon
Copy link
Copy Markdown
Contributor

Description

Updates binary that improve GC performance & memory


PR Commands — comment on this PR to trigger (requires collaborator approval):

Command Description
/benchmark -f <framework> Run all benchmark tests
/benchmark -f <framework> -t <test> Run a specific test
/benchmark -f <framework> --save Run and save results (updates leaderboard on merge)

Always specify -f <framework>. Results are automatically compared against the current leaderboard.


Run benchmarks locally

You can validate and benchmark your framework locally with the lite script — no CPU pinning, fixed connection counts, all load generators run in Docker.

./scripts/validate.sh <framework>
./scripts/benchmark-lite.sh <framework> baseline
./scripts/benchmark-lite.sh --load-threads 4 <framework>

Requirements: Docker Engine on Linux. Load generators (gcannon, h2load, h2load-h3, wrk, ghz) are built as self-contained Docker images on first run.

@praisethemoon
Copy link
Copy Markdown
Contributor Author

/benchmark -f typev

@github-actions
Copy link
Copy Markdown
Contributor

👋 /benchmark request received. A collaborator will review and approve the run.

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: typev | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 2,189,124 6536.7% 208MiB -1.8% -1.4%
baseline 4096 2,263,360 6492.5% 533MiB +1.1% +19.0%
pipelined 512 44,289,619 6302.6% 265MiB -8.6% -8.3%
pipelined 4096 46,516,790 6298.7% 371MiB -0.9% -2.4%
limited-conn 512 1,473,894 6644.7% 253MiB -1.5% -1.6%
limited-conn 4096 1,557,391 6405.9% 544MiB +0.8% +43.5%
json 4096 1,188,900 6721.1% 881MiB -0.5% +30.9%
upload 32 3,068 1967.9% 193MiB +0.4% -4.0%
upload 256 2,998 3888.2% 304MiB -0.4% +2.4%
static 1024 1,160,118 6338.2% 312MiB +2.2% +5.8%
static 4096 1,172,063 6198.2% 706MiB +0.5% +5.4%
static 6800 1,152,009 6387.5% 1.5GiB +0.5% +7.1%
echo-ws 512 2,912,237 6653.7% 273MiB -3.5% +1.5%
echo-ws 4096 3,000,855 6552.1% 558MiB +0.6% +24.0%
echo-ws 16384 2,893,783 6263.3% 1.2GiB -5.1% +63.6%
echo-ws-pipeline 512 18,600,537 6566.2% 268MiB +0.8% -1.8%
echo-ws-pipeline 4096 19,123,843 6312.2% 587MiB -1.2% +39.1%
echo-ws-pipeline 16384 19,378,300 6504.0% 1.1GiB +1.2% +145.9%
Full log
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    169us    109us    121us    143us   9.81ms

  93003088 frames sent in 5.00s, 93002688 frames received
  Throughput: 18.60M req/s
  Bandwidth:  124.14MB/s
  WS upgrades: 233
  WS frames:   93002688
  Latency samples: 93002368 / 93002688 responses (100.0%)
[info] CPU 6566.2% | Mem 268MiB

=== Best: 18600537 req/s (CPU: 6566.2%, Mem: 268MiB) ===
[info] saved results/echo-ws-pipeline/512/typev.json
httparena-bench-typev
httparena-bench-typev

==============================================
=== typev / echo-ws-pipeline / 4096c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    275us    113us    447us    761us   15.20ms

  95437840 frames sent in 5.00s, 95436624 frames received
  Throughput: 19.08M req/s
  Bandwidth:  127.38MB/s
  WS upgrades: 343
  WS frames:   95436624
  Latency samples: 95436480 / 95436624 responses (100.0%)
[info] CPU 6433.0% | Mem 273MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    186us    107us    128us    396us   12.20ms

  94811488 frames sent in 5.00s, 94811184 frames received
  Throughput: 18.96M req/s
  Bandwidth:  126.55MB/s
  WS upgrades: 615
  WS frames:   94811184
  Latency samples: 94810960 / 94811184 responses (100.0%)
  Latency overflow (>5s): 96
[info] CPU 6634.2% | Mem 525MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    199us    106us    127us    602us   12.70ms

  95619776 frames sent in 5.00s, 95619216 frames received
  Throughput: 19.12M req/s
  Bandwidth:  127.63MB/s
  WS upgrades: 686
  WS frames:   95619216
  Latency samples: 95627040 / 95619216 responses (100.0%)
  Latency overflow (>5s): 112
[info] CPU 6312.2% | Mem 587MiB

=== Best: 19123843 req/s (CPU: 6312.2%, Mem: 587MiB) ===
[info] saved results/echo-ws-pipeline/4096/typev.json
httparena-bench-typev
httparena-bench-typev

==============================================
=== typev / echo-ws-pipeline / 16384c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    406us    109us    287us   3.08ms   12.20ms

  96147696 frames sent in 5.00s, 96141392 frames received
  Throughput: 19.22M req/s
  Bandwidth:  128.33MB/s
  WS upgrades: 509
  WS frames:   96141392
  Latency samples: 96141392 / 96141392 responses (100.0%)
[info] CPU 6225.2% | Mem 485MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    247us    108us    225us    675us   12.00ms

  96926800 frames sent in 5.00s, 96891504 frames received
  Throughput: 19.37M req/s
  Bandwidth:  129.38MB/s
  WS upgrades: 2230
  WS frames:   96891504
  Latency samples: 96891504 / 96891504 responses (100.0%)
[info] CPU 6504.0% | Mem 1.1GiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    212us    109us    182us    773us   9.69ms

  95306336 frames sent in 5.00s, 95272480 frames received
  Throughput: 19.05M req/s
  Bandwidth:  127.22MB/s
  WS upgrades: 2116
  WS frames:   95272480
  Latency samples: 95272480 / 95272480 responses (100.0%)
[info] CPU 6028.6% | Mem 1.1GiB

=== Best: 19378300 req/s (CPU: 6504.0%, Mem: 1.1GiB) ===
[info] saved results/echo-ws-pipeline/16384/typev.json
httparena-bench-typev
httparena-bench-typev
[info] rebuilding site/data/*.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/frameworks.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-6800.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-32.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → powersave

@praisethemoon
Copy link
Copy Markdown
Contributor Author

/benchmark -f typev --save

@github-actions
Copy link
Copy Markdown
Contributor

👋 /benchmark request received. A collaborator will review and approve the run.

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: typev | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 2,249,295 6693.9% 272MiB +0.9% +28.9%
baseline 4096 2,255,667 6687.6% 551MiB +0.8% +23.0%
pipelined 512 45,425,804 6319.3% 292MiB -6.3% +1.0%
pipelined 4096 47,449,846 6175.5% 388MiB +1.0% +2.1%
limited-conn 512 1,495,600 6598.4% 260MiB ~0% +1.2%
limited-conn 4096 1,558,607 6484.1% 543MiB +0.9% +43.3%
json 4096 1,188,956 6750.8% 892MiB -0.5% +32.5%
upload 32 3,057 1367.9% 192MiB ~0% -4.5%
upload 256 2,998 3660.7% 296MiB -0.4% -0.3%
static 1024 1,157,283 6133.7% 303MiB +2.0% +2.7%
static 4096 1,174,232 6243.9% 701MiB +0.7% +4.6%
static 6800 1,159,506 6118.9% 988MiB +1.2% -31.1%
echo-ws 512 2,747,051 6758.0% 266MiB -9.0% -1.1%
echo-ws 4096 2,998,664 6467.7% 601MiB +0.6% +33.6%
echo-ws 16384 3,018,725 6540.4% 1.1GiB -1.0% +50.0%
echo-ws-pipeline 512 18,755,462 6518.1% 270MiB +1.6% -1.1%
echo-ws-pipeline 4096 19,442,723 6415.8% 584MiB +0.4% +38.4%
echo-ws-pipeline 16384 19,062,131 6135.7% 1.1GiB -0.4% +145.9%
Full log
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    156us    108us    120us    132us    186us

  93777760 frames sent in 5.00s, 93777311 frames received
  Throughput: 18.75M req/s
  Bandwidth:  125.17MB/s
  WS upgrades: 212
  WS frames:   93777311
  Latency samples: 93777008 / 93777311 responses (100.0%)
[info] CPU 6518.1% | Mem 270MiB

=== Best: 18755462 req/s (CPU: 6518.1%, Mem: 270MiB) ===
[info] saved results/echo-ws-pipeline/512/typev.json
httparena-bench-typev
httparena-bench-typev

==============================================
=== typev / echo-ws-pipeline / 4096c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    318us    115us    446us    772us   15.10ms

  96526464 frames sent in 5.00s, 96530496 frames received
  Throughput: 19.30M req/s
  Bandwidth:  128.83MB/s
  WS upgrades: 396
  WS frames:   96530496
  Latency samples: 96524512 / 96530496 responses (100.0%)
[info] CPU 6470.1% | Mem 289MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    197us    105us    142us    463us   14.00ms

  96185200 frames sent in 5.00s, 96185024 frames received
  Throughput: 19.23M req/s
  Bandwidth:  128.39MB/s
  WS upgrades: 651
  WS frames:   96185024
  Latency samples: 96184848 / 96185024 responses (100.0%)
  Latency overflow (>5s): 64
[info] CPU 6564.5% | Mem 533MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    192us    105us    127us    961us   11.10ms

  97214432 frames sent in 5.00s, 97213616 frames received
  Throughput: 19.44M req/s
  Bandwidth:  129.76MB/s
  WS upgrades: 672
  WS frames:   97213616
  Latency samples: 97217648 / 97213616 responses (100.0%)
  Latency overflow (>5s): 112
[info] CPU 6415.8% | Mem 584MiB

=== Best: 19442723 req/s (CPU: 6415.8%, Mem: 584MiB) ===
[info] saved results/echo-ws-pipeline/4096/typev.json
httparena-bench-typev
httparena-bench-typev

==============================================
=== typev / echo-ws-pipeline / 16384c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    323us    117us    667us   1.19ms   11.30ms

  95235568 frames sent in 5.00s, 95228992 frames received
  Throughput: 19.04M req/s
  Bandwidth:  127.11MB/s
  WS upgrades: 411
  WS frames:   95228992
  Latency samples: 95228992 / 95228992 responses (100.0%)
[info] CPU 6125.3% | Mem 461MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    203us    106us    128us    566us   9.61ms

  95267456 frames sent in 5.00s, 95245472 frames received
  Throughput: 19.04M req/s
  Bandwidth:  127.16MB/s
  WS upgrades: 1374
  WS frames:   95245472
  Latency samples: 95245472 / 95245472 responses (100.0%)
[info] CPU 6502.8% | Mem 940MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    295us    108us    226us   1.55ms   6.32ms

  95347104 frames sent in 5.00s, 95310656 frames received
  Throughput: 19.06M req/s
  Bandwidth:  127.27MB/s
  WS upgrades: 2278
  WS frames:   95310656
  Latency samples: 95310656 / 95310656 responses (100.0%)
[info] CPU 6135.7% | Mem 1.1GiB

=== Best: 19062131 req/s (CPU: 6135.7%, Mem: 1.1GiB) ===
[info] saved results/echo-ws-pipeline/16384/typev.json
httparena-bench-typev
httparena-bench-typev
[info] rebuilding site/data/*.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/frameworks.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-6800.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-32.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → powersave

@praisethemoon
Copy link
Copy Markdown
Contributor Author

/benchmark -f typev --save

@github-actions
Copy link
Copy Markdown
Contributor

👋 /benchmark request received. A collaborator will review and approve the run.

@praisethemoon
Copy link
Copy Markdown
Contributor Author

/benchmark -f typev --save
🤞

@github-actions
Copy link
Copy Markdown
Contributor

👋 /benchmark request received. A collaborator will review and approve the run.

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: typev | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 2,350,301 6267.2% 156MiB +5.4% -26.1%
baseline 4096 2,338,966 6552.9% 398MiB +4.5% -11.2%
pipelined 512 49,999,385 6531.9% 181MiB +3.2% -37.4%
pipelined 4096 49,140,934 6120.5% 245MiB +4.6% -35.5%
limited-conn 512 1,663,785 6613.0% 213MiB +11.2% -17.1%
limited-conn 4096 1,688,305 6603.3% 523MiB +9.3% +38.0%
json 4096 1,230,469 6304.3% 656MiB +3.0% -2.5%
upload 32 3,156 1684.7% 186MiB +3.3% -7.5%
upload 256 3,023 3738.8% 287MiB +0.5% -3.4%
static 1024 1,163,730 6215.6% 190MiB +2.5% -35.6%
static 4096 1,163,183 6256.6% 327MiB -0.3% -51.2%
static 6800 1,174,927 6152.2% 448MiB +2.5% -68.8%
echo-ws 512 3,088,007 6707.9% 177MiB +2.3% -34.2%
echo-ws 4096 3,073,750 6298.7% 460MiB +3.1% +2.2%
echo-ws 16384 3,100,908 6480.0% 726MiB +1.7% -3.3%
echo-ws-pipeline 512 18,996,697 6438.5% 148MiB +2.9% -45.8%
echo-ws-pipeline 4096 19,786,896 6553.4% 402MiB +2.2% -4.7%
echo-ws-pipeline 16384 19,588,854 6443.2% 752MiB +2.3% +64.2%
Full log
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    145us    106us    118us    131us    181us

  94929024 frames sent in 5.00s, 94928464 frames received
  Throughput: 18.98M req/s
  Bandwidth:  126.71MB/s
  WS upgrades: 216
  WS frames:   94928464
  Latency samples: 94928192 / 94928464 responses (100.0%)
[info] CPU 6485.9% | Mem 181MiB

=== Best: 18996697 req/s (CPU: 6438.5%, Mem: 148MiB) ===
[info] saved results/echo-ws-pipeline/512/typev.json
httparena-bench-typev
httparena-bench-typev

==============================================
=== typev / echo-ws-pipeline / 4096c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    283us    114us    658us    859us   3.28ms

  97254016 frames sent in 5.00s, 97253520 frames received
  Throughput: 19.44M req/s
  Bandwidth:  129.81MB/s
  WS upgrades: 360
  WS frames:   97253520
  Latency samples: 97253184 / 97253520 responses (100.0%)
[info] CPU 6391.5% | Mem 214MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    181us    104us    128us    566us   6.85ms

  98934640 frames sent in 5.00s, 98934480 frames received
  Throughput: 19.78M req/s
  Bandwidth:  132.06MB/s
  WS upgrades: 1148
  WS frames:   98934480
  Latency samples: 98934016 / 98934480 responses (100.0%)
  Latency overflow (>5s): 192
[info] CPU 6553.4% | Mem 402MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    193us    105us    151us    410us   9.09ms

  98668912 frames sent in 5.00s, 98668688 frames received
  Throughput: 19.73M req/s
  Bandwidth:  131.69MB/s
  WS upgrades: 873
  WS frames:   98668688
  Latency samples: 98687039 / 98668688 responses (100.0%)
  Latency overflow (>5s): 64
[info] CPU 6241.7% | Mem 458MiB

=== Best: 19786896 req/s (CPU: 6553.4%, Mem: 402MiB) ===
[info] saved results/echo-ws-pipeline/4096/typev.json
httparena-bench-typev
httparena-bench-typev

==============================================
=== typev / echo-ws-pipeline / 16384c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    369us    111us    357us   2.92ms   5.54ms

  95839952 frames sent in 5.00s, 95834096 frames received
  Throughput: 19.16M req/s
  Bandwidth:  127.93MB/s
  WS upgrades: 470
  WS frames:   95834096
  Latency samples: 95834096 / 95834096 responses (100.0%)
[info] CPU 6059.3% | Mem 395MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    296us    108us    322us   1.11ms   9.38ms

  97998928 frames sent in 5.00s, 97944272 frames received
  Throughput: 19.58M req/s
  Bandwidth:  130.81MB/s
  WS upgrades: 3672
  WS frames:   97944272
  Latency samples: 97944032 / 97944272 responses (100.0%)
[info] CPU 6443.2% | Mem 752MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    234us    108us    312us    708us   6.81ms

  96562720 frames sent in 5.00s, 96531840 frames received
  Throughput: 19.30M req/s
  Bandwidth:  128.89MB/s
  WS upgrades: 1930
  WS frames:   96531840
  Latency samples: 96531840 / 96531840 responses (100.0%)
[info] CPU 6125.0% | Mem 786MiB

=== Best: 19588854 req/s (CPU: 6443.2%, Mem: 752MiB) ===
[info] saved results/echo-ws-pipeline/16384/typev.json
httparena-bench-typev
httparena-bench-typev
[info] rebuilding site/data/*.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/frameworks.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-6800.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-32.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → powersave

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: typev | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 2,278,885 6424.4% 159MiB +2.2% -24.6%
baseline 4096 2,254,531 6423.8% 393MiB +0.7% -12.3%
pipelined 512 48,985,094 6406.1% 175MiB +1.1% -39.4%
pipelined 4096 49,708,790 6275.9% 248MiB +5.9% -34.7%
limited-conn 512 1,626,895 6445.5% 204MiB +8.7% -20.6%
limited-conn 4096 1,690,228 6582.5% 500MiB +9.4% +31.9%
json 4096 1,209,639 6253.6% 640MiB +1.2% -4.9%
upload 32 3,150 1674.9% 190MiB +3.1% -5.5%
upload 256 3,048 3479.0% 271MiB +1.3% -8.8%
static 1024 1,142,516 6402.2% 225MiB +0.7% -23.7%
static 4096 1,162,909 6094.1% 326MiB -0.3% -51.3%
static 6800 1,163,376 6380.5% 601MiB +1.5% -58.1%
echo-ws 512 3,061,424 6557.9% 161MiB +1.5% -40.1%
echo-ws 4096 3,105,692 6216.1% 338MiB +4.2% -24.9%
echo-ws 16384 3,039,125 6438.4% 724MiB -0.3% -3.6%
echo-ws-pipeline 512 18,714,636 6520.0% 175MiB +1.4% -35.9%
echo-ws-pipeline 4096 19,350,413 6275.8% 462MiB ~0% +9.5%
echo-ws-pipeline 16384 19,251,632 6229.0% 757MiB +0.6% +65.3%
Full log
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    149us    108us    120us    132us   3.05ms

  92839984 frames sent in 5.00s, 92839376 frames received
  Throughput: 18.56M req/s
  Bandwidth:  123.92MB/s
  WS upgrades: 208
  WS frames:   92839376
  Latency samples: 92839120 / 92839376 responses (100.0%)
[info] CPU 6375.7% | Mem 180MiB

=== Best: 18714636 req/s (CPU: 6520.0%, Mem: 175MiB) ===
[info] saved results/echo-ws-pipeline/512/typev.json
httparena-bench-typev
httparena-bench-typev

==============================================
=== typev / echo-ws-pipeline / 4096c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    306us    115us    658us    822us   5.77ms

  96339488 frames sent in 5.00s, 96338448 frames received
  Throughput: 19.26M req/s
  Bandwidth:  128.58MB/s
  WS upgrades: 381
  WS frames:   96338448
  Latency samples: 96337936 / 96338448 responses (100.0%)
[info] CPU 6318.0% | Mem 216MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    174us    107us    162us    273us   3.20ms

  92799424 frames sent in 5.00s, 92798832 frames received
  Throughput: 18.55M req/s
  Bandwidth:  123.87MB/s
  WS upgrades: 772
  WS frames:   92798832
  Latency samples: 92805984 / 92798832 responses (100.0%)
  Latency overflow (>5s): 112
[info] CPU 6175.9% | Mem 402MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    191us    106us    124us    354us   8.38ms

  96731296 frames sent in 5.00s, 96752068 frames received
  Throughput: 19.35M req/s
  Bandwidth:  129.12MB/s
  WS upgrades: 1010
  WS frames:   96752069
  Latency samples: 96737792 / 96752068 responses (100.0%)
  Latency overflow (>5s): 128

  WARNING: 18446744073709551615/96752068 responses (19065994613892.4%) had unexpected status (expected 2xx)
[info] CPU 6275.8% | Mem 462MiB

=== Best: 19350413 req/s (CPU: 6275.8%, Mem: 462MiB) ===
[info] saved results/echo-ws-pipeline/4096/typev.json
httparena-bench-typev
httparena-bench-typev

==============================================
=== typev / echo-ws-pipeline / 16384c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    304us    117us    859us   1.34ms   3.79ms

  96202432 frames sent in 5.00s, 96196304 frames received
  Throughput: 19.23M req/s
  Bandwidth:  128.40MB/s
  WS upgrades: 383
  WS frames:   96196304
  Latency samples: 96196304 / 96196304 responses (100.0%)
[info] CPU 6265.2% | Mem 388MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    272us    119us    329us    724us   7.51ms

  95431584 frames sent in 5.00s, 95383728 frames received
  Throughput: 19.07M req/s
  Bandwidth:  127.38MB/s
  WS upgrades: 2991
  WS frames:   95383728
  Latency samples: 95383728 / 95383728 responses (100.0%)
[info] CPU 6417.8% | Mem 734MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    225us    109us    180us    552us   5.96ms

  96305856 frames sent in 5.00s, 96258160 frames received
  Throughput: 19.25M req/s
  Bandwidth:  128.55MB/s
  WS upgrades: 2981
  WS frames:   96258160
  Latency samples: 96258160 / 96258160 responses (100.0%)
[info] CPU 6229.0% | Mem 757MiB

=== Best: 19251632 req/s (CPU: 6229.0%, Mem: 757MiB) ===
[info] saved results/echo-ws-pipeline/16384/typev.json
httparena-bench-typev
httparena-bench-typev
[info] rebuilding site/data/*.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/frameworks.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-6800.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-32.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → powersave

@praisethemoon
Copy link
Copy Markdown
Contributor Author

/benchmark -f typev

@github-actions
Copy link
Copy Markdown
Contributor

👋 /benchmark request received. A collaborator will review and approve the run.

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: typev | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 2,176,287 6663.5% 180MiB -2.4% -14.7%
baseline 4096 2,213,342 6218.8% 222MiB -1.1% -50.4%
pipelined 512 44,885,926 6608.7% 180MiB -7.4% -37.7%
pipelined 4096 44,897,532 6114.8% 437MiB -4.4% +15.0%
limited-conn 512 1,738,855 6528.1% 325MiB +16.2% +26.5%
limited-conn 4096 1,658,141 6588.2% 466MiB +7.4% +23.0%
json 4096 1,233,636 6388.2% 719MiB +3.2% +6.8%
upload 32 3,160 1615.6% 193MiB +3.4% -4.0%
upload 256 3,088 3800.2% 266MiB +2.6% -10.4%
static 1024 1,141,749 6422.3% 224MiB +0.6% -24.1%
static 4096 1,136,109 6050.0% 539MiB -2.6% -19.6%
static 6800 1,131,956 6065.4% 478MiB -1.2% -66.7%
echo-ws 512 2,765,594 6606.5% 181MiB -8.4% -32.7%
echo-ws 4096 2,791,863 6666.9% 403MiB -6.4% -10.4%
echo-ws 16384 2,823,942 6448.0% 724MiB -7.4% -3.6%
echo-ws-pipeline 512 18,536,032 6460.4% 176MiB +0.4% -35.5%
echo-ws-pipeline 4096 18,479,545 6272.5% 452MiB -4.6% +7.1%
echo-ws-pipeline 16384 18,102,198 6142.4% 776MiB -5.4% +69.4%
Full log
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    143us    110us    121us    133us    186us

  92084064 frames sent in 5.00s, 92083360 frames received
  Throughput: 18.41M req/s
  Bandwidth:  122.91MB/s
  WS upgrades: 224
  WS frames:   92083360
  Latency samples: 92083104 / 92083360 responses (100.0%)
  Latency overflow (>5s): 16
[info] CPU 6347.1% | Mem 186MiB

=== Best: 18536032 req/s (CPU: 6460.4%, Mem: 176MiB) ===
[info] saved results/echo-ws-pipeline/512/typev.json
httparena-bench-typev
httparena-bench-typev

==============================================
=== typev / echo-ws-pipeline / 4096c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    324us    161us    676us    913us   5.09ms

  91432496 frames sent in 5.00s, 91431728 frames received
  Throughput: 18.28M req/s
  Bandwidth:  122.03MB/s
  WS upgrades: 383
  WS frames:   91431728
  Latency samples: 91431520 / 91431728 responses (100.0%)
[info] CPU 6190.5% | Mem 215MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    220us    119us    252us    511us   8.46ms

  91430624 frames sent in 5.00s, 91430480 frames received
  Throughput: 18.28M req/s
  Bandwidth:  122.04MB/s
  WS upgrades: 1000
  WS frames:   91430480
  Latency samples: 91474752 / 91430480 responses (100.0%)
  Latency overflow (>5s): 144
[info] CPU 6432.9% | Mem 410MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    178us    110us    123us    193us   11.00ms

  92397904 frames sent in 5.00s, 92397728 frames received
  Throughput: 18.47M req/s
  Bandwidth:  123.33MB/s
  WS upgrades: 830
  WS frames:   92397728
  Latency samples: 92397424 / 92397728 responses (100.0%)
  Latency overflow (>5s): 128
[info] CPU 6272.5% | Mem 452MiB

=== Best: 18479545 req/s (CPU: 6272.5%, Mem: 452MiB) ===
[info] saved results/echo-ws-pipeline/4096/typev.json
httparena-bench-typev
httparena-bench-typev

==============================================
=== typev / echo-ws-pipeline / 16384c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    317us    122us    854us   1.16ms   3.84ms

  89770880 frames sent in 5.00s, 89763072 frames received
  Throughput: 17.95M req/s
  Bandwidth:  119.82MB/s
  WS upgrades: 488
  WS frames:   89763072
  Latency samples: 89763072 / 89763072 responses (100.0%)
[info] CPU 6052.1% | Mem 396MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    269us    117us    389us    677us   4.96ms

  89541392 frames sent in 5.00s, 89476496 frames received
  Throughput: 17.89M req/s
  Bandwidth:  119.52MB/s
  WS upgrades: 4056
  WS frames:   89476496
  Latency samples: 89476496 / 89476496 responses (100.0%)
[info] CPU 6370.4% | Mem 713MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    313us    116us    350us   1.31ms   5.85ms

  90559424 frames sent in 5.00s, 90510992 frames received
  Throughput: 18.10M req/s
  Bandwidth:  120.88MB/s
  WS upgrades: 3027
  WS frames:   90510992
  Latency samples: 90510992 / 90510992 responses (100.0%)
[info] CPU 6142.4% | Mem 776MiB

=== Best: 18102198 req/s (CPU: 6142.4%, Mem: 776MiB) ===
[info] saved results/echo-ws-pipeline/16384/typev.json
httparena-bench-typev
httparena-bench-typev
[info] rebuilding site/data/*.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/frameworks.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-6800.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-32.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → powersave

@praisethemoon
Copy link
Copy Markdown
Contributor Author

/benchmark -f typev -t limited-conn --save

@github-actions
Copy link
Copy Markdown
Contributor

👋 /benchmark request received. A collaborator will review and approve the run.

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: typev | Test: limited-conn

Test Conn RPS CPU Mem Δ RPS Δ Mem
limited-conn 512 1,740,036 6542.5% 308MiB +16.3% +19.8%
limited-conn 4096 1,672,266 6592.2% 467MiB +8.3% +23.2%
Full log
#10 exporting layers done
#10 exporting manifest sha256:e3225ea3e95e196b0ae301c9c5ea72967f7e3076c01b46d849a3214c67044a67 done
#10 exporting config sha256:ba63afebc924fd051e72fad1699ee3b3e498d91e9f14a3223f5d84bc6eaab0e3 done
#10 exporting attestation manifest sha256:ff3e7b79ce1484832b47eebcfa08343b3c68eb4f88e2074ca43dbce3f586405e
#10 exporting attestation manifest sha256:ff3e7b79ce1484832b47eebcfa08343b3c68eb4f88e2074ca43dbce3f586405e 0.1s done
#10 exporting manifest list sha256:58c3c600aa53ba0fc949d7861437d96c507e7dcb47d4235c5bd3ded0dae9959e 0.0s done
#10 naming to docker.io/library/httparena-typev:latest done
#10 unpacking to docker.io/library/httparena-typev:latest done
#10 DONE 0.1s
[info] tuning host for benchmark runs
[info] CPU governor → performance
[info] setting kernel socket limits
[info] setting UDP buffer sizes for QUIC
[info] setting loopback MTU to 1500 (realistic Ethernet)
[info] restarting docker daemon
[info] dropping kernel caches

==============================================
=== typev / limited-conn / 512c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     512 (8/thread)
  Pipeline:  1
  Req/conn:  10
  Templates: 3
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    296us     73us    244us   4.18ms   6.07ms

  8377797 requests in 5.00s, 8377801 responses
  Throughput: 1.68M req/s
  Bandwidth:  143.78MB/s
  Status codes: 2xx=8377801, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 8378131 / 8377801 responses (100.0%)
  Reconnects: 837779
  Per-template: 2792649,2792593,2792528
  Per-template-ok: 2792649,2792593,2792528
[info] CPU 6243.7% | Mem 253MiB

[run 2/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     512 (8/thread)
  Pipeline:  1
  Req/conn:  10
  Templates: 3
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    286us     75us    255us   4.10ms   5.36ms

  8647745 requests in 5.00s, 8648763 responses
  Throughput: 1.73M req/s
  Bandwidth:  148.41MB/s
  Status codes: 2xx=8648763, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 8647720 / 8648763 responses (100.0%)
  Reconnects: 864768
  Per-template: 2882583,2882485,2882652
  Per-template-ok: 2882583,2882485,2882652
[info] CPU 6603.8% | Mem 280MiB

[run 3/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     512 (8/thread)
  Pipeline:  1
  Req/conn:  10
  Templates: 3
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    284us     75us    247us   4.37ms   5.54ms

  8698935 requests in 5.00s, 8698925 responses
  Throughput: 1.74M req/s
  Bandwidth:  149.29MB/s
  Status codes: 2xx=8700183, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 8698897 / 8698925 responses (100.0%)
  Reconnects: 869886
  Per-template: 2899661,2899710,2899526
  Per-template-ok: 2899661,2899710,2899526

  WARNING: 18446744073709550358/8698925 responses (212057743614406.9%) had unexpected status (expected 2xx)
[info] CPU 6542.5% | Mem 308MiB

=== Best: 1740036 req/s (CPU: 6542.5%, Mem: 308MiB) ===
[info] input BW: 134.41MB/s (avg template: 81 bytes)
[info] saved results/limited-conn/512/typev.json
httparena-bench-typev
httparena-bench-typev

==============================================
=== typev / limited-conn / 4096c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  1
  Req/conn:  10
  Templates: 3
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   2.45ms     81us    538us   35.20ms   39.90ms

  8313547 requests in 5.00s, 8313478 responses
  Throughput: 1.66M req/s
  Bandwidth:  142.67MB/s
  Status codes: 2xx=8313478, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 8313469 / 8313478 responses (100.0%)
  Reconnects: 831326
  Per-template: 2770868,2771111,2771490
  Per-template-ok: 2770868,2771111,2771490
[info] CPU 6331.3% | Mem 277MiB

[run 2/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  1
  Req/conn:  10
  Templates: 3
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   2.43ms     81us   3.37ms   33.00ms   35.90ms

  8362476 requests in 5.00s, 8361330 responses
  Throughput: 1.67M req/s
  Bandwidth:  143.49MB/s
  Status codes: 2xx=8361330, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 8361307 / 8361330 responses (100.0%)
  Reconnects: 836104
  Per-template: 2786825,2787419,2787063
  Per-template-ok: 2786825,2787419,2787063
[info] CPU 6592.2% | Mem 467MiB

[run 3/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  1
  Req/conn:  10
  Templates: 3
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   2.46ms     80us   3.78ms   33.40ms   35.50ms

  8301548 requests in 5.00s, 8301039 responses
  Throughput: 1.66M req/s
  Bandwidth:  142.46MB/s
  Status codes: 2xx=8301039, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 8301013 / 8301039 responses (100.0%)
  Reconnects: 830064
  Per-template: 2766734,2767209,2767070
  Per-template-ok: 2766734,2767209,2767070
[info] CPU 6176.3% | Mem 549MiB

=== Best: 1672266 req/s (CPU: 6592.2%, Mem: 467MiB) ===
[info] input BW: 129.18MB/s (avg template: 81 bytes)
[info] saved results/limited-conn/4096/typev.json
httparena-bench-typev
httparena-bench-typev
[info] rebuilding site/data/*.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/frameworks.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → powersave

The await-keepalive topology (spawn one accept_loop awaitable + keepalive.await(),
rest fire-and-forget) keeps the runtime alive while leaving main_w parked so it
never feeds the global queue — the limited-conn feeder-fix. Validated 32/0 on the
-v2 arena VM (incl WebSocket 7/7, static-404, server-alive). Comment-only; the
matching output.tvbc bundle is already committed.
@github-actions
Copy link
Copy Markdown
Contributor

👋 /benchmark request received. A collaborator will review and approve the run.

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: typev | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 2,194,846 6524.2% 179MiB -1.6% -15.2%
baseline 4096 2,167,738 6288.5% 221MiB -3.2% -50.7%
pipelined 512 44,678,003 6507.2% 171MiB -7.8% -40.8%
pipelined 4096 44,172,745 6414.9% 397MiB -5.9% +4.5%
limited-conn 512 1,737,129 6566.8% 318MiB +16.1% +23.7%
limited-conn 4096 1,645,090 6370.4% 534MiB +6.5% +40.9%
json 4096 1,230,003 6650.1% 619MiB +2.9% -8.0%
upload 32 3,144 1640.0% 189MiB +2.9% -6.0%
upload 256 3,063 3834.8% 280MiB +1.8% -5.7%
static 1024 1,129,837 6455.6% 220MiB -0.5% -25.4%
static 4096 1,135,467 6308.8% 513MiB -2.7% -23.4%
static 6800 1,121,107 6002.7% 457MiB -2.2% -68.1%
echo-ws 512 2,739,949 6540.7% 158MiB -9.2% -41.3%
echo-ws 4096 2,789,860 6516.7% 396MiB -6.4% -12.0%
echo-ws 16384 2,706,911 6558.3% 755MiB -11.2% +0.5%
echo-ws-pipeline 512 18,399,766 6427.3% 181MiB -0.3% -33.7%
echo-ws-pipeline 4096 17,986,572 6379.9% 390MiB -7.1% -7.6%
echo-ws-pipeline 16384 18,058,022 6095.7% 400MiB -5.6% -12.7%
Full log
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    148us    111us    122us    134us    168us

  91999376 frames sent in 5.00s, 91998832 frames received
  Throughput: 18.40M req/s
  Bandwidth:  122.80MB/s
  WS upgrades: 210
  WS frames:   91998832
  Latency samples: 91998481 / 91998832 responses (100.0%)
[info] CPU 6427.3% | Mem 181MiB

=== Best: 18399766 req/s (CPU: 6427.3%, Mem: 181MiB) ===
[info] saved results/echo-ws-pipeline/512/typev.json
httparena-bench-typev
httparena-bench-typev

==============================================
=== typev / echo-ws-pipeline / 4096c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    259us    119us    649us    877us   3.51ms

  89214064 frames sent in 5.00s, 89212784 frames received
  Throughput: 17.84M req/s
  Bandwidth:  119.07MB/s
  WS upgrades: 313
  WS frames:   89212784
  Latency samples: 89212576 / 89212784 responses (100.0%)
[info] CPU 5992.0% | Mem 211MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    183us    111us    127us    277us   5.20ms

  89933392 frames sent in 5.00s, 89932864 frames received
  Throughput: 17.98M req/s
  Bandwidth:  120.04MB/s
  WS upgrades: 744
  WS frames:   89932864
  Latency samples: 89932704 / 89932864 responses (100.0%)
  Latency overflow (>5s): 80
[info] CPU 6379.9% | Mem 390MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    206us    114us    216us    345us   4.67ms

  89426208 frames sent in 5.00s, 89425648 frames received
  Throughput: 17.88M req/s
  Bandwidth:  119.36MB/s
  WS upgrades: 788
  WS frames:   89425648
  Latency samples: 89425520 / 89425648 responses (100.0%)
  Latency overflow (>5s): 128
[info] CPU 6073.9% | Mem 451MiB

=== Best: 17986572 req/s (CPU: 6379.9%, Mem: 390MiB) ===
[info] saved results/echo-ws-pipeline/4096/typev.json
httparena-bench-typev
httparena-bench-typev

==============================================
=== typev / echo-ws-pipeline / 16384c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    349us    113us    267us   2.64ms   3.92ms

  90296528 frames sent in 5.00s, 90290112 frames received
  Throughput: 18.05M req/s
  Bandwidth:  120.52MB/s
  WS upgrades: 514
  WS frames:   90290112
  Latency samples: 90290112 / 90290112 responses (100.0%)
[info] CPU 6095.7% | Mem 400MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    282us    117us    434us    776us   7.16ms

  90324256 frames sent in 5.00s, 90263520 frames received
  Throughput: 18.05M req/s
  Bandwidth:  120.57MB/s
  WS upgrades: 4052
  WS frames:   90263520
  Latency samples: 90263328 / 90263520 responses (100.0%)
[info] CPU 6313.8% | Mem 734MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    251us    117us    419us    651us   5.83ms

  90114992 frames sent in 5.00s, 90052336 frames received
  Throughput: 18.00M req/s
  Bandwidth:  120.29MB/s
  WS upgrades: 3916
  WS frames:   90052336
  Latency samples: 90052336 / 90052336 responses (100.0%)
[info] CPU 6044.9% | Mem 756MiB

=== Best: 18058022 req/s (CPU: 6095.7%, Mem: 400MiB) ===
[info] saved results/echo-ws-pipeline/16384/typev.json
httparena-bench-typev
httparena-bench-typev
[info] rebuilding site/data/*.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/frameworks.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-6800.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-32.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → powersave

@praisethemoon
Copy link
Copy Markdown
Contributor Author

/benchmark -f typev --save

@github-actions
Copy link
Copy Markdown
Contributor

👋 /benchmark request received. A collaborator will review and approve the run.

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: typev | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 2,184,095 6368.7% 154MiB -2.1% -27.0%
baseline 4096 2,181,840 6294.6% 468MiB -2.5% +4.5%
pipelined 512 46,047,789 6588.7% 181MiB -5.0% -37.4%
pipelined 4096 44,235,824 6512.0% 382MiB -5.8% +0.5%
limited-conn 512 1,753,785 6571.2% 348MiB +17.2% +35.4%
limited-conn 4096 1,651,361 6415.3% 582MiB +6.9% +53.6%
json 4096 1,230,839 6408.5% 818MiB +3.0% +21.5%
upload 32 3,153 1718.5% 189MiB +3.2% -6.0%
upload 256 3,057 3898.3% 267MiB +1.6% -10.1%
static 1024 1,130,632 6445.7% 221MiB -0.4% -25.1%
static 4096 1,120,826 6419.3% 493MiB -3.9% -26.4%
static 6800 1,124,081 6117.1% 456MiB -1.9% -68.2%
echo-ws 512 2,843,407 6572.5% 158MiB -5.8% -41.3%
echo-ws 4096 2,853,130 6364.9% 462MiB -4.3% +2.7%
echo-ws 16384 2,705,047 6589.9% 753MiB -11.3% +0.3%
echo-ws-pipeline 512 18,469,187 6460.9% 182MiB ~0% -33.3%
echo-ws-pipeline 4096 18,319,481 6232.8% 212MiB -5.4% -49.8%
echo-ws-pipeline 16384 18,073,907 6104.8% 777MiB -5.6% +69.7%
Full log
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    150us    111us    121us    133us    161us

  92346416 frames sent in 5.00s, 92345936 frames received
  Throughput: 18.46M req/s
  Bandwidth:  123.26MB/s
  WS upgrades: 220
  WS frames:   92345936
  Latency samples: 92345456 / 92345936 responses (100.0%)
  Latency overflow (>5s): 48
[info] CPU 6460.9% | Mem 182MiB

=== Best: 18469187 req/s (CPU: 6460.9%, Mem: 182MiB) ===
[info] saved results/echo-ws-pipeline/512/typev.json
httparena-bench-typev
httparena-bench-typev

==============================================
=== typev / echo-ws-pipeline / 4096c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    285us    120us    649us    855us   3.29ms

  91598032 frames sent in 5.00s, 91597407 frames received
  Throughput: 18.31M req/s
  Bandwidth:  122.25MB/s
  WS upgrades: 343
  WS frames:   91597407
  Latency samples: 91597167 / 91597407 responses (100.0%)
[info] CPU 6232.8% | Mem 212MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    180us    111us    123us    163us   3.15ms

  91454256 frames sent in 5.00s, 91454160 frames received
  Throughput: 18.29M req/s
  Bandwidth:  122.07MB/s
  WS upgrades: 899
  WS frames:   91454160
  Latency samples: 91453888 / 91454160 responses (100.0%)
  Latency overflow (>5s): 208
[info] CPU 6505.0% | Mem 394MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    183us    111us    123us    156us   5.17ms

  90446048 frames sent in 5.00s, 90445904 frames received
  Throughput: 18.08M req/s
  Bandwidth:  120.73MB/s
  WS upgrades: 970
  WS frames:   90445904
  Latency samples: 90445552 / 90445904 responses (100.0%)
  Latency overflow (>5s): 160
[info] CPU 6113.2% | Mem 459MiB

=== Best: 18319481 req/s (CPU: 6232.8%, Mem: 212MiB) ===
[info] saved results/echo-ws-pipeline/4096/typev.json
httparena-bench-typev
httparena-bench-typev

==============================================
=== typev / echo-ws-pipeline / 16384c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    433us    119us    673us   2.79ms   3.58ms

  90101424 frames sent in 5.00s, 90094064 frames received
  Throughput: 18.01M req/s
  Bandwidth:  120.26MB/s
  WS upgrades: 524
  WS frames:   90094064
  Latency samples: 90094064 / 90094064 responses (100.0%)
[info] CPU 6060.1% | Mem 398MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    204us    114us    211us    428us   3.31ms

  89445232 frames sent in 5.00s, 89396736 frames received
  Throughput: 17.87M req/s
  Bandwidth:  119.39MB/s
  WS upgrades: 3031
  WS frames:   89396736
  Latency samples: 89396736 / 89396736 responses (100.0%)
[info] CPU 6426.3% | Mem 716MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    238us    113us    240us    865us   3.47ms

  90428224 frames sent in 5.00s, 90369536 frames received
  Throughput: 18.07M req/s
  Bandwidth:  120.70MB/s
  WS upgrades: 3924
  WS frames:   90369536
  Latency samples: 90369536 / 90369536 responses (100.0%)
[info] CPU 6104.8% | Mem 777MiB

=== Best: 18073907 req/s (CPU: 6104.8%, Mem: 777MiB) ===
[info] saved results/echo-ws-pipeline/16384/typev.json
httparena-bench-typev
httparena-bench-typev
[info] rebuilding site/data/*.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/frameworks.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-6800.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-32.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → powersave

@praisethemoon
Copy link
Copy Markdown
Contributor Author

/benchmark -f typev --save

@github-actions
Copy link
Copy Markdown
Contributor

👋 /benchmark request received. A collaborator will review and approve the run.

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: typev | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 2,213,212 6646.6% 178MiB -0.8% -15.6%
baseline 4096 2,183,539 6393.0% 466MiB -2.4% +4.0%
pipelined 512 45,551,606 6505.4% 181MiB -6.0% -37.4%
pipelined 4096 43,620,739 6406.6% 392MiB -7.1% +3.2%
limited-conn 512 1,681,203 6610.2% 335MiB +12.4% +30.4%
limited-conn 4096 1,648,504 6203.8% 764MiB +6.7% +101.6%
json 4096 1,230,978 6368.1% 856MiB +3.0% +27.2%
upload 32 3,142 1615.8% 182MiB +2.8% -9.5%
upload 256 3,055 3782.9% 262MiB +1.5% -11.8%
static 1024 1,123,420 6481.3% 225MiB -1.0% -23.7%
static 4096 1,133,709 6262.2% 310MiB -2.8% -53.7%
static 6800 1,138,511 6115.8% 447MiB -0.7% -68.8%
echo-ws 512 2,811,249 6801.4% 178MiB -6.8% -33.8%
echo-ws 4096 2,716,205 6452.9% 466MiB -8.9% +3.6%
echo-ws 16384 2,728,496 6325.8% 854MiB -10.5% +13.7%
echo-ws-pipeline 512 18,166,908 6445.7% 152MiB -1.6% -44.3%
echo-ws-pipeline 4096 18,520,640 6527.8% 382MiB -4.3% -9.5%
echo-ws-pipeline 16384 18,646,784 6485.9% 802MiB -2.6% +75.1%
Full log
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    163us    113us    123us    136us    182us

  90238352 frames sent in 5.00s, 90237952 frames received
  Throughput: 18.04M req/s
  Bandwidth:  120.47MB/s
  WS upgrades: 262
  WS frames:   90237952
  Latency samples: 90237632 / 90237952 responses (100.0%)
  Latency overflow (>5s): 32
[info] CPU 6448.8% | Mem 178MiB

=== Best: 18166908 req/s (CPU: 6445.7%, Mem: 152MiB) ===
[info] saved results/echo-ws-pipeline/512/typev.json
httparena-bench-typev
httparena-bench-typev

==============================================
=== typev / echo-ws-pipeline / 4096c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    253us    116us    637us    735us   3.64ms

  90420064 frames sent in 5.00s, 90418720 frames received
  Throughput: 18.08M req/s
  Bandwidth:  120.69MB/s
  WS upgrades: 310
  WS frames:   90418720
  Latency samples: 90440848 / 90418720 responses (100.0%)
[info] CPU 6148.3% | Mem 209MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    175us    111us    133us    508us   3.73ms

  92603248 frames sent in 5.00s, 92603200 frames received
  Throughput: 18.51M req/s
  Bandwidth:  123.60MB/s
  WS upgrades: 1398
  WS frames:   92603200
  Latency samples: 92602896 / 92603200 responses (100.0%)
  Latency overflow (>5s): 192
[info] CPU 6527.8% | Mem 382MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    177us    111us    130us    551us   4.04ms

  91924624 frames sent in 5.00s, 91924576 frames received
  Throughput: 18.38M req/s
  Bandwidth:  122.69MB/s
  WS upgrades: 1369
  WS frames:   91924576
  Latency samples: 91924320 / 91924576 responses (100.0%)
  Latency overflow (>5s): 224
[info] CPU 6306.7% | Mem 450MiB

=== Best: 18520640 req/s (CPU: 6527.8%, Mem: 382MiB) ===
[info] saved results/echo-ws-pipeline/4096/typev.json
httparena-bench-typev
httparena-bench-typev

==============================================
=== typev / echo-ws-pipeline / 16384c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    272us    116us    656us   1.00ms   3.72ms

  88971328 frames sent in 5.00s, 88965968 frames received
  Throughput: 17.79M req/s
  Bandwidth:  118.75MB/s
  WS upgrades: 335
  WS frames:   88965968
  Latency samples: 88965968 / 88965968 responses (100.0%)
[info] CPU 5955.4% | Mem 384MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    643us    123us   2.50ms   3.07ms   11.00ms

  93297776 frames sent in 5.00s, 93233920 frames received
  Throughput: 18.64M req/s
  Bandwidth:  124.53MB/s
  WS upgrades: 3991
  WS frames:   93233920
  Latency samples: 93233920 / 93233920 responses (100.0%)
[info] CPU 6485.9% | Mem 802MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    186us    113us    133us    316us   1.48ms

  90600976 frames sent in 5.00s, 90562352 frames received
  Throughput: 18.11M req/s
  Bandwidth:  120.93MB/s
  WS upgrades: 2414
  WS frames:   90562352
  Latency samples: 90562352 / 90562352 responses (100.0%)
[info] CPU 6268.8% | Mem 806MiB

=== Best: 18646784 req/s (CPU: 6485.9%, Mem: 802MiB) ===
[info] saved results/echo-ws-pipeline/16384/typev.json
httparena-bench-typev
httparena-bench-typev
[info] rebuilding site/data/*.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/frameworks.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-6800.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-32.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → powersave

@praisethemoon
Copy link
Copy Markdown
Contributor Author

/benchmark -f typev --save

@github-actions
Copy link
Copy Markdown
Contributor

👋 /benchmark request received. A collaborator will review and approve the run.

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: typev | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 2,175,063 6491.5% 179MiB -2.5% -15.2%
baseline 4096 2,174,790 6607.9% 400MiB -2.8% -10.7%
pipelined 512 44,709,405 6549.1% 180MiB -7.7% -37.7%
pipelined 4096 45,331,702 6250.5% 232MiB -3.5% -38.9%
limited-conn 512 1,567,342 6305.4% 191MiB +4.8% -25.7%
limited-conn 4096 1,606,253 6573.4% 316MiB +4.0% -16.6%
json 4096 1,212,745 6372.2% 649MiB +1.5% -3.6%
upload 32 3,169 1648.3% 193MiB +3.7% -4.0%
upload 256 3,046 4053.8% 294MiB +1.2% -1.0%
static 1024 1,124,919 6392.4% 226MiB -0.9% -23.4%
static 4096 1,125,885 6313.9% 505MiB -3.5% -24.6%
static 6800 1,121,830 6182.1% 461MiB -2.1% -67.8%
echo-ws 512 2,724,822 6640.1% 178MiB -9.7% -33.8%
echo-ws 4096 2,739,974 6580.1% 408MiB -8.1% -9.3%
echo-ws 16384 2,730,145 6295.3% 712MiB -10.4% -5.2%
echo-ws-pipeline 512 18,430,252 6510.9% 173MiB -0.2% -36.6%
echo-ws-pipeline 4096 18,173,520 6321.1% 436MiB -6.1% +3.3%
echo-ws-pipeline 16384 18,167,692 6482.6% 706MiB -5.1% +54.1%
Full log
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    146us    111us    121us    133us    172us

  92043056 frames sent in 5.00s, 92042528 frames received
  Throughput: 18.40M req/s
  Bandwidth:  122.98MB/s
  WS upgrades: 210
  WS frames:   92042528
  Latency samples: 92042272 / 92042528 responses (100.0%)
  Latency overflow (>5s): 16
[info] CPU 6464.5% | Mem 184MiB

=== Best: 18430252 req/s (CPU: 6510.9%, Mem: 173MiB) ===
[info] saved results/echo-ws-pipeline/512/typev.json
httparena-bench-typev
httparena-bench-typev

==============================================
=== typev / echo-ws-pipeline / 4096c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    266us    174us    455us    968us    5.00s

  90471568 frames sent in 5.00s, 90469552 frames received
  Throughput: 18.09M req/s
  Bandwidth:  120.75MB/s
  WS upgrades: 312
  WS frames:   90469552
  Latency samples: 90598576 / 90469552 responses (100.1%)
[info] CPU 6156.7% | Mem 208MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    229us    121us    339us    506us   3.30ms

  89970848 frames sent in 5.00s, 89970656 frames received
  Throughput: 17.99M req/s
  Bandwidth:  120.09MB/s
  WS upgrades: 660
  WS frames:   89970656
  Latency samples: 89970528 / 89970656 responses (100.0%)
  Latency overflow (>5s): 80
[info] CPU 6515.4% | Mem 388MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    226us    116us    305us    508us   3.05ms

  90867840 frames sent in 5.00s, 90867600 frames received
  Throughput: 18.17M req/s
  Bandwidth:  121.28MB/s
  WS upgrades: 687
  WS frames:   90867600
  Latency samples: 90867344 / 90867600 responses (100.0%)
  Latency overflow (>5s): 64
[info] CPU 6321.1% | Mem 436MiB

=== Best: 18173520 req/s (CPU: 6321.1%, Mem: 436MiB) ===
[info] saved results/echo-ws-pipeline/4096/typev.json
httparena-bench-typev
httparena-bench-typev

==============================================
=== typev / echo-ws-pipeline / 16384c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    359us    114us    317us   2.59ms   3.56ms

  89447872 frames sent in 5.00s, 89437264 frames received
  Throughput: 17.88M req/s
  Bandwidth:  119.40MB/s
  WS upgrades: 663
  WS frames:   89437264
  Latency samples: 89437264 / 89437264 responses (100.0%)
[info] CPU 6075.3% | Mem 412MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    561us    117us    290us    712us   9.69ms

  90879056 frames sent in 5.00s, 90838464 frames received
  Throughput: 18.16M req/s
  Bandwidth:  121.31MB/s
  WS upgrades: 2537
  WS frames:   90838464
  Latency samples: 90838464 / 90838464 responses (100.0%)
[info] CPU 6482.6% | Mem 706MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    696us    119us    488us   1.91ms   14.50ms

  90478128 frames sent in 5.00s, 90433072 frames received
  Throughput: 18.08M req/s
  Bandwidth:  120.77MB/s
  WS upgrades: 2816
  WS frames:   90433072
  Latency samples: 90433072 / 90433072 responses (100.0%)
[info] CPU 6035.2% | Mem 785MiB

=== Best: 18167692 req/s (CPU: 6482.6%, Mem: 706MiB) ===
[info] saved results/echo-ws-pipeline/16384/typev.json
httparena-bench-typev
httparena-bench-typev
[info] rebuilding site/data/*.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/frameworks.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-6800.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-32.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → powersave

@praisethemoon
Copy link
Copy Markdown
Contributor Author

/benchmark -f typev --save

@github-actions
Copy link
Copy Markdown
Contributor

👋 /benchmark request received. A collaborator will review and approve the run.

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: typev | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 2,177,969 6248.4% 153MiB -2.3% -27.5%
baseline 4096 2,152,602 6622.6% 401MiB -3.8% -10.5%
pipelined 512 45,950,051 6576.5% 180MiB -5.2% -37.7%
pipelined 4096 44,612,102 6219.4% 462MiB -5.0% +21.6%
limited-conn 512 1,724,801 6547.8% 322MiB +15.3% +25.3%
limited-conn 4096 1,663,464 6371.3% 560MiB +7.7% +47.8%
json 4096 1,231,014 6322.3% 479MiB +3.0% -28.8%
upload 32 3,158 1684.5% 186MiB +3.3% -7.5%
upload 256 3,084 4309.1% 299MiB +2.5% +0.7%
static 1024 1,136,498 6404.0% 227MiB +0.1% -23.1%
static 4096 1,131,988 6309.2% 517MiB -3.0% -22.8%
static 6800 1,117,376 6417.0% 641MiB -2.5% -55.3%
echo-ws 512 2,823,013 6629.8% 182MiB -6.4% -32.3%
echo-ws 4096 2,769,614 6227.6% 463MiB -7.1% +2.9%
echo-ws 16384 2,854,317 6258.8% 820MiB -6.4% +9.2%
echo-ws-pipeline 512 18,431,324 6377.6% 149MiB -0.2% -45.4%
echo-ws-pipeline 4096 18,323,142 6525.0% 405MiB -5.4% -4.0%
echo-ws-pipeline 16384 17,992,361 6096.8% 741MiB -6.0% +61.8%
Full log


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    147us    111us    121us    133us    169us

  92000720 frames sent in 5.00s, 92000208 frames received
  Throughput: 18.40M req/s
  Bandwidth:  122.81MB/s
  WS upgrades: 225
  WS frames:   92000208
  Latency samples: 91999856 / 92000208 responses (100.0%)
  Latency overflow (>5s): 16
[info] CPU 6471.9% | Mem 184MiB

=== Best: 18431324 req/s (CPU: 6377.6%, Mem: 149MiB) ===
[info] saved results/echo-ws-pipeline/512/typev.json
httparena-bench-typev
httparena-bench-typev

==============================================
=== typev / echo-ws-pipeline / 4096c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    311us    122us    657us    863us   3.72ms

  90363456 frames sent in 5.00s, 90361967 frames received
  Throughput: 18.07M req/s
  Bandwidth:  120.61MB/s
  WS upgrades: 369
  WS frames:   90361968
  Latency samples: 90361616 / 90361967 responses (100.0%)

  WARNING: 18446744073709551615/90361967 responses (20414279022621.9%) had unexpected status (expected 2xx)
[info] CPU 6033.1% | Mem 216MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    192us    113us    196us    363us   4.04ms

  91605120 frames sent in 5.00s, 91615712 frames received
  Throughput: 18.32M req/s
  Bandwidth:  122.27MB/s
  WS upgrades: 800
  WS frames:   91615712
  Latency samples: 91604480 / 91615712 responses (100.0%)
  Latency overflow (>5s): 112
[info] CPU 6525.0% | Mem 405MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    172us    111us    123us    151us   6.12ms

  90719008 frames sent in 5.00s, 90718783 frames received
  Throughput: 18.14M req/s
  Bandwidth:  121.09MB/s
  WS upgrades: 751
  WS frames:   90718783
  Latency samples: 90718512 / 90718783 responses (100.0%)
  Latency overflow (>5s): 96
[info] CPU 6168.4% | Mem 460MiB

=== Best: 18323142 req/s (CPU: 6525.0%, Mem: 405MiB) ===
[info] saved results/echo-ws-pipeline/4096/typev.json
httparena-bench-typev
httparena-bench-typev

==============================================
=== typev / echo-ws-pipeline / 16384c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    250us    121us    455us    868us   4.17ms

  88696592 frames sent in 5.00s, 88690112 frames received
  Throughput: 17.73M req/s
  Bandwidth:  118.39MB/s
  WS upgrades: 405
  WS frames:   88690112
  Latency samples: 88690112 / 88690112 responses (100.0%)
[info] CPU 6082.8% | Mem 373MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    203us    113us    130us    358us   6.25ms

  89920416 frames sent in 5.00s, 89873696 frames received
  Throughput: 17.97M req/s
  Bandwidth:  120.02MB/s
  WS upgrades: 2920
  WS frames:   89873696
  Latency samples: 89873696 / 89873696 responses (100.0%)
[info] CPU 6489.2% | Mem 708MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    326us    125us    444us    869us   8.43ms

  90028496 frames sent in 5.00s, 89961808 frames received
  Throughput: 17.99M req/s
  Bandwidth:  120.18MB/s
  WS upgrades: 4168
  WS frames:   89961808
  Latency samples: 89961808 / 89961808 responses (100.0%)
[info] CPU 6096.8% | Mem 741MiB

=== Best: 17992361 req/s (CPU: 6096.8%, Mem: 741MiB) ===
[info] saved results/echo-ws-pipeline/16384/typev.json
httparena-bench-typev
httparena-bench-typev
[info] rebuilding site/data/*.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/frameworks.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-6800.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-32.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → powersave

@praisethemoon
Copy link
Copy Markdown
Contributor Author

/benchmark -f typev --save

@github-actions
Copy link
Copy Markdown
Contributor

👋 /benchmark request received. A collaborator will review and approve the run.

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: typev | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 2,232,140 6380.0% 156MiB ~0% -26.1%
baseline 4096 2,159,262 6556.8% 396MiB -3.5% -11.6%
pipelined 512 44,170,000 6624.6% 181MiB -8.8% -37.4%
pipelined 4096 46,159,084 6258.8% 451MiB -1.7% +18.7%
limited-conn 512 1,708,478 6541.8% 314MiB +14.2% +22.2%
limited-conn 4096 1,674,965 6595.2% 472MiB +8.4% +24.5%
json 4096 1,227,325 6396.4% 720MiB +2.7% +7.0%
upload 32 3,152 1662.5% 187MiB +3.1% -7.0%
upload 256 3,053 3797.3% 279MiB +1.5% -6.1%
static 1024 1,123,368 6447.9% 221MiB -1.0% -25.1%
static 4096 1,130,947 6226.6% 335MiB -3.1% -50.0%
static 6800 1,123,290 6319.4% 647MiB -2.0% -54.9%
echo-ws 512 2,839,865 6717.4% 177MiB -5.9% -34.2%
echo-ws 4096 2,738,284 6294.2% 464MiB -8.2% +3.1%
echo-ws 16384 2,681,888 6185.7% 818MiB -12.0% +8.9%
echo-ws-pipeline 512 18,372,604 6378.4% 182MiB -0.5% -33.3%
echo-ws-pipeline 4096 18,343,548 6309.3% 458MiB -5.3% +8.5%
echo-ws-pipeline 16384 18,274,678 6083.0% 362MiB -4.5% -21.0%
Full log
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    146us    111us    122us    135us    184us

  91863600 frames sent in 5.00s, 91863023 frames received
  Throughput: 18.37M req/s
  Bandwidth:  122.61MB/s
  WS upgrades: 216
  WS frames:   91863023
  Latency samples: 91862704 / 91863023 responses (100.0%)
[info] CPU 6378.4% | Mem 182MiB

=== Best: 18372604 req/s (CPU: 6378.4%, Mem: 182MiB) ===
[info] saved results/echo-ws-pipeline/512/typev.json
httparena-bench-typev
httparena-bench-typev

==============================================
=== typev / echo-ws-pipeline / 4096c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    278us    156us    654us    802us   3.33ms

  90813520 frames sent in 5.00s, 90812752 frames received
  Throughput: 18.16M req/s
  Bandwidth:  121.23MB/s
  WS upgrades: 336
  WS frames:   90812752
  Latency samples: 90812656 / 90812752 responses (100.0%)
[info] CPU 6246.9% | Mem 211MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    212us    115us    228us    374us   6.23ms

  91306736 frames sent in 5.00s, 91306464 frames received
  Throughput: 18.26M req/s
  Bandwidth:  121.88MB/s
  WS upgrades: 876
  WS frames:   91306464
  Latency samples: 91310384 / 91306464 responses (100.0%)
  Latency overflow (>5s): 128
[info] CPU 6527.6% | Mem 400MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    219us    124us    380us    458us   3.11ms

  91717856 frames sent in 5.00s, 91717744 frames received
  Throughput: 18.34M req/s
  Bandwidth:  122.41MB/s
  WS upgrades: 748
  WS frames:   91717744
  Latency samples: 91717488 / 91717744 responses (100.0%)
  Latency overflow (>5s): 16
[info] CPU 6309.3% | Mem 458MiB

=== Best: 18343548 req/s (CPU: 6309.3%, Mem: 458MiB) ===
[info] saved results/echo-ws-pipeline/4096/typev.json
httparena-bench-typev
httparena-bench-typev

==============================================
=== typev / echo-ws-pipeline / 16384c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    386us    116us    421us   2.74ms   6.54ms

  91379376 frames sent in 5.00s, 91373392 frames received
  Throughput: 18.27M req/s
  Bandwidth:  121.96MB/s
  WS upgrades: 542
  WS frames:   91373392
  Latency samples: 91373392 / 91373392 responses (100.0%)
[info] CPU 6083.0% | Mem 362MiB

[run 2/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    323us    116us    401us   1.51ms   5.68ms

  91098256 frames sent in 5.00s, 91037680 frames received
  Throughput: 18.20M req/s
  Bandwidth:  121.60MB/s
  WS upgrades: 4042
  WS frames:   91037680
  Latency samples: 91037680 / 91037680 responses (100.0%)
[info] CPU 6492.8% | Mem 748MiB

[run 3/3]
gcannon v0.5.3 [WS]
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  16
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    305us    117us    428us   1.23ms   7.10ms

  90719968 frames sent in 5.00s, 90675600 frames received
  Throughput: 18.13M req/s
  Bandwidth:  121.09MB/s
  WS upgrades: 2773
  WS frames:   90675600
  Latency samples: 90675600 / 90675600 responses (100.0%)
[info] CPU 6225.5% | Mem 834MiB

=== Best: 18274678 req/s (CPU: 6083.0%, Mem: 362MiB) ===
[info] saved results/echo-ws-pipeline/16384/typev.json
httparena-bench-typev
httparena-bench-typev
[info] rebuilding site/data/*.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/frameworks.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/echo-ws-pipeline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-6800.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-32.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → powersave

@MDA2AV MDA2AV merged commit d3a6870 into MDA2AV:main May 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants