Skip to content

Update beskar package - #1535

Open
MarvinDrude wants to merge 5 commits into
MDA2AV:mainfrom
MarvinDrude:update-beskar-rc3
Open

MarvinDrude wants to merge 5 commits into
MDA2AV:mainfrom
MarvinDrude:update-beskar-rc3

Conversation

@MarvinDrude

Copy link
Copy Markdown
Contributor
  • Switched to runtime async
  • NET 11 rc1
  • Some fixes and improvements

@MarvinDrude

Copy link
Copy Markdown
Contributor Author

/benchmark -f beskar-websocket

@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

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

@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: beskar-websocket | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
echo-ws 512 2,303,096 5639.5% 140MiB +10.1% -7.3%
echo-ws 4096 2,077,776 5531.6% 331MiB +10.0% +0.6%
echo-ws 16384 2,004,789 5807.8% 806MiB +10.7% -0.9%
echo-ws-pipeline 512 30,550,534 5755.7% 96MiB +10.7% -5.9%
echo-ws-pipeline 4096 29,252,009 5878.1% 320MiB +12.0% +12.7%
echo-ws-pipeline 16384 27,246,985 5985.7% 830MiB +8.7% +4.1%
echo-ws-limited 512 996,359 4518.3% 122MiB +5.2% -7.6%
echo-ws-limited 4096 1,008,591 4433.6% 170MiB +2.9% -1.2%
Full log
  Bandwidth:  180.70MB/s
  WS upgrades: 16382
  WS frames:   135073008
  Latency samples: 135073008 / 135073008 responses (100.0%)
[info] CPU 6353.2% | Mem 774MiB

[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   9.10ms   8.87ms   12.60ms   19.20ms   60.40ms

  136492976 frames sent in 5.00s, 136234928 frames received
  Throughput: 27.24M req/s
  Bandwidth:  182.24MB/s
  WS upgrades: 16384
  WS frames:   136234928
  Latency samples: 136234608 / 136234928 responses (100.0%)
[info] CPU 5985.7% | Mem 830MiB

=== Best: 27246985 req/s (CPU: 5985.7%, Mem: 830MiB) ===
[info] saved results/echo-ws-pipeline/16384/beskar-websocket.json
httparena-bench-beskar-websocket
httparena-bench-beskar-websocket

==============================================
=== beskar-websocket / echo-ws-limited / 512c (tool=gcannon) ===
==============================================
[info] ws-only framework — skipping HTTP probe (sleep 2s for startup)

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    195us     97us    291us   2.23ms   4.56ms

  3645486 frames sent in 5.00s, 3645328 frames received
  Throughput: 728.86K req/s
  Bandwidth:  13.83MB/s
  WS upgrades: 364747
  WS frames:   3645328
  Latency samples: 3645328 / 3645328 responses (100.0%)
  Reconnects: 364476
[info] CPU 4538.1% | Mem 122MiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    133us     85us    196us   1.23ms   2.96ms

  4981692 frames sent in 5.00s, 4981798 frames received
  Throughput: 996.12K req/s
  Bandwidth:  18.90MB/s
  WS upgrades: 506956
  WS frames:   4981798
  Latency samples: 4981783 / 4981798 responses (100.0%)
  Reconnects: 498237
[info] CPU 4518.3% | Mem 122MiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    135us     84us    202us   1.24ms   2.96ms

  4971944 frames sent in 5.00s, 4971871 frames received
  Throughput: 994.13K req/s
  Bandwidth:  18.87MB/s
  WS upgrades: 505634
  WS frames:   4971871
  Latency samples: 4971854 / 4971871 responses (100.0%)
  Reconnects: 497179
[info] CPU 4487.6% | Mem 127MiB

=== Best: 996359 req/s (CPU: 4518.3%, Mem: 122MiB) ===
[info] saved results/echo-ws-limited/512/beskar-websocket.json
httparena-bench-beskar-websocket
httparena-bench-beskar-websocket

==============================================
=== beskar-websocket / echo-ws-limited / 4096c (tool=gcannon) ===
==============================================
[info] ws-only framework — skipping HTTP probe (sleep 2s for startup)

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    284us    119us    462us   3.40ms   7.57ms

  3687789 frames sent in 5.00s, 3687162 frames received
  Throughput: 737.24K req/s
  Bandwidth:  14.00MB/s
  WS upgrades: 369193
  WS frames:   3687162
  Latency samples: 3687162 / 3687162 responses (100.0%)
  Reconnects: 368374
[info] CPU 4788.8% | Mem 138MiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    211us    106us    376us   2.39ms   4.81ms

  5041670 frames sent in 5.00s, 5041590 frames received
  Throughput: 1.01M req/s
  Bandwidth:  19.13MB/s
  WS upgrades: 505928
  WS frames:   5041590
  Latency samples: 5041564 / 5041590 responses (100.0%)
  Reconnects: 504136
[info] CPU 4672.2% | Mem 166MiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    216us    105us    379us   2.48ms   4.97ms

  5042904 frames sent in 5.00s, 5042956 frames received
  Throughput: 1.01M req/s
  Bandwidth:  19.13MB/s
  WS upgrades: 505257
  WS frames:   5042956
  Latency samples: 5042953 / 5042956 responses (100.0%)
  Reconnects: 504276
[info] CPU 4433.6% | Mem 170MiB

=== Best: 1008591 req/s (CPU: 4433.6%, Mem: 170MiB) ===
[info] saved results/echo-ws-limited/4096/beskar-websocket.json
httparena-bench-beskar-websocket
httparena-bench-beskar-websocket
[info] skip: beskar-websocket does not subscribe to latency-1m
[info] skip: beskar-websocket does not subscribe to latency-10k
[info] skip: beskar-websocket does not subscribe to latency-500k-8cpu
[info] skip: beskar-websocket does not subscribe to async
[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/results/beskar-websocket.json - 8 new, 8 total
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
[info] restoring loopback MTU to 65536

@MarvinDrude

Copy link
Copy Markdown
Contributor Author

/benchmark -f beskar-websocket --save

@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

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

@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: beskar-websocket | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
echo-ws 512 2,308,233 5848.4% 140MiB +10.4% -7.3%
echo-ws 4096 2,199,112 6197.0% 307MiB +16.4% -6.7%
echo-ws 16384 2,007,405 5908.9% 831MiB +10.8% +2.2%
echo-ws-pipeline 512 32,017,315 6087.5% 102MiB +16.0% ~0%
echo-ws-pipeline 4096 30,338,692 6053.8% 372MiB +16.2% +31.0%
echo-ws-pipeline 16384 27,539,888 5994.8% 777MiB +9.9% -2.5%
echo-ws-limited 512 977,705 4403.0% 131MiB +3.3% -0.8%
echo-ws-limited 4096 1,037,160 4626.8% 165MiB +5.9% -4.1%
Full log
  Bandwidth:  181.63MB/s
  WS upgrades: 16383
  WS frames:   135767616
  Latency samples: 135767616 / 135767616 responses (100.0%)
[info] CPU 6409.0% | Mem 771MiB

[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   9.22ms   8.86ms   12.80ms   19.10ms   47.70ms

  137961584 frames sent in 5.00s, 137699440 frames received
  Throughput: 27.53M req/s
  Bandwidth:  184.21MB/s
  WS upgrades: 16384
  WS frames:   137699440
  Latency samples: 137699440 / 137699440 responses (100.0%)
[info] CPU 5994.8% | Mem 777MiB

=== Best: 27539888 req/s (CPU: 5994.8%, Mem: 777MiB) ===
[info] saved results/echo-ws-pipeline/16384/beskar-websocket.json
httparena-bench-beskar-websocket
httparena-bench-beskar-websocket

==============================================
=== beskar-websocket / echo-ws-limited / 512c (tool=gcannon) ===
==============================================
[info] ws-only framework — skipping HTTP probe (sleep 2s for startup)

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    195us     94us    297us   2.31ms   4.70ms

  3497022 frames sent in 5.00s, 3496882 frames received
  Throughput: 699.17K req/s
  Bandwidth:  13.27MB/s
  WS upgrades: 349830
  WS frames:   3496882
  Latency samples: 3496882 / 3496882 responses (100.0%)
  Reconnects: 349643
[info] CPU 4329.1% | Mem 123MiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    144us     86us    218us   1.30ms   3.54ms

  4852220 frames sent in 5.00s, 4852021 frames received
  Throughput: 970.18K req/s
  Bandwidth:  18.42MB/s
  WS upgrades: 494261
  WS frames:   4852021
  Latency samples: 4852004 / 4852021 responses (100.0%)
  Reconnects: 485164
[info] CPU 4417.9% | Mem 126MiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    149us     88us    224us   1.38ms   3.63ms

  4888512 frames sent in 5.00s, 4888528 frames received
  Throughput: 977.47K req/s
  Bandwidth:  18.55MB/s
  WS upgrades: 496319
  WS frames:   4888528
  Latency samples: 4888521 / 4888528 responses (100.0%)
  Reconnects: 488847
[info] CPU 4403.0% | Mem 131MiB

=== Best: 977705 req/s (CPU: 4403.0%, Mem: 131MiB) ===
[info] saved results/echo-ws-limited/512/beskar-websocket.json
httparena-bench-beskar-websocket
httparena-bench-beskar-websocket

==============================================
=== beskar-websocket / echo-ws-limited / 4096c (tool=gcannon) ===
==============================================
[info] ws-only framework — skipping HTTP probe (sleep 2s for startup)

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    251us    113us    385us   3.11ms   7.32ms

  3791530 frames sent in 5.00s, 3791056 frames received
  Throughput: 758.01K req/s
  Bandwidth:  14.39MB/s
  WS upgrades: 379480
  WS frames:   3791056
  Latency samples: 3791056 / 3791056 responses (100.0%)
  Reconnects: 378820
[info] CPU 4678.5% | Mem 133MiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    186us    100us    305us   2.02ms   4.25ms

  5141017 frames sent in 5.00s, 5140982 frames received
  Throughput: 1.03M req/s
  Bandwidth:  19.51MB/s
  WS upgrades: 515633
  WS frames:   5140982
  Latency samples: 5140971 / 5140982 responses (100.0%)
  Reconnects: 514102
[info] CPU 4836.7% | Mem 158MiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency    201us    106us    336us   2.14ms   5.09ms

  5185842 frames sent in 5.00s, 5185801 frames received
  Throughput: 1.04M req/s
  Bandwidth:  19.68MB/s
  WS upgrades: 520901
  WS frames:   5185801
  Latency samples: 5185787 / 5185801 responses (100.0%)
  Reconnects: 518603
[info] CPU 4626.8% | Mem 165MiB

=== Best: 1037160 req/s (CPU: 4626.8%, Mem: 165MiB) ===
[info] saved results/echo-ws-limited/4096/beskar-websocket.json
httparena-bench-beskar-websocket
httparena-bench-beskar-websocket
[info] skip: beskar-websocket does not subscribe to latency-1m
[info] skip: beskar-websocket does not subscribe to latency-10k
[info] skip: beskar-websocket does not subscribe to latency-500k-8cpu
[info] skip: beskar-websocket does not subscribe to async
[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/results/beskar-websocket.json - 8 new, 8 total
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
[info] restoring loopback MTU to 65536

This branch has not been deployed

No deployments
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.

1 participant