Skip to content

[C#] Add SimpleW#358

Merged
MDA2AV merged 8 commits intoMDA2AV:mainfrom
Kaliumhexacyanoferrat:add-simplew
Apr 2, 2026
Merged

[C#] Add SimpleW#358
MDA2AV merged 8 commits intoMDA2AV:mainfrom
Kaliumhexacyanoferrat:add-simplew

Conversation

@Kaliumhexacyanoferrat
Copy link
Copy Markdown
Collaborator

Description

Adds SimpleW, marked as tuned as it uses the experimental new engine.


PR Commands — comment on this PR to trigger:

Command Description
/validate -f <framework> Run the 18-point validation suite
/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.

@Kaliumhexacyanoferrat Kaliumhexacyanoferrat self-assigned this Apr 2, 2026
@Kaliumhexacyanoferrat
Copy link
Copy Markdown
Collaborator Author

/benchmark -f simplew --save

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

🚀 Benchmark run triggered for simplew (all tests) with --save. Results will be posted here when done.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

Benchmark Results

Framework: simplew | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 1,060,993 4828.4% 186.2MiB NEW NEW
baseline 4096 973,359 5920.1% 384.1MiB NEW NEW
baseline 16384 1,416,620 5965.1% 1.9GiB NEW NEW
pipelined 512 5,499,940 6986.5% 219.5MiB NEW NEW
pipelined 4096 3,048,968 4571.7% 210.6MiB NEW NEW
pipelined 16384 3,566,944 4858.6% 173.3MiB NEW NEW
limited-conn 512 126,326 951.2% 377.1MiB NEW NEW
limited-conn 4096 120,885 974.1% 261.4MiB NEW NEW
json 4096 700,760 9259.3% 588.4MiB NEW NEW
json 16384 608,750 8828.4% 1.8GiB NEW NEW
upload 64 0 0% 0MiB
Full log


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   12.04ms   11.40ms   12.30ms   27.30ms   70.20ms

  25910 requests in 5.00s, 25910 responses
  Throughput: 5.18K req/s
  Bandwidth:  849.49KB/s
  Status codes: 2xx=0, 3xx=0, 4xx=25910, 5xx=0
  Latency samples: 25910 / 25910 responses (100.0%)
  Reconnects: 25909
  Errors: connect 0, read 13759, timeout 0

  WARNING: 25910/25910 responses (100.0%) had unexpected status (expected 2xx)
  CPU: 158.1% | Mem: 109.2MiB

[run 2/3]
gcannon — io_uring HTTP load generator
  Target:    localhost:8080/
  Threads:   64
  Conns:     64 (1/thread)
  Pipeline:  1
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   11.50ms   11.30ms   12.10ms   12.90ms   45.70ms

  27121 requests in 5.00s, 27126 responses
  Throughput: 5.42K req/s
  Bandwidth:  889.32KB/s
  Status codes: 2xx=0, 3xx=0, 4xx=27126, 5xx=0
  Latency samples: 27126 / 27126 responses (100.0%)
  Reconnects: 27124
  Errors: connect 0, read 11897, timeout 0

  WARNING: 27126/27126 responses (100.0%) had unexpected status (expected 2xx)
  CPU: 149.5% | Mem: 137.4MiB

[run 3/3]
gcannon — io_uring HTTP load generator
  Target:    localhost:8080/
  Threads:   64
  Conns:     64 (1/thread)
  Pipeline:  1
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   11.42ms   11.20ms   12.00ms   12.90ms   46.00ms

  27319 requests in 5.00s, 27321 responses
  Throughput: 5.46K req/s
  Bandwidth:  895.71KB/s
  Status codes: 2xx=0, 3xx=0, 4xx=27321, 5xx=0
  Latency samples: 27321 / 27321 responses (100.0%)
  Reconnects: 27319
  Errors: connect 0, read 11783, timeout 0

  WARNING: 27321/27321 responses (100.0%) had unexpected status (expected 2xx)
  CPU: 149.5% | Mem: 155.9MiB

=== Best: 0 req/s (CPU: 0%, Mem: 0MiB) ===
httparena-bench-simplew
httparena-bench-simplew
httparena-postgres
httparena-postgres
[restore] Restoring CPU governor to performance...
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
Setting cpu: 4
Setting cpu: 5
Setting cpu: 6
Setting cpu: 7
Setting cpu: 8
Setting cpu: 9
Setting cpu: 10
Setting cpu: 11
Setting cpu: 12
Setting cpu: 13
Setting cpu: 14
Setting cpu: 15
Setting cpu: 16
Setting cpu: 17
Setting cpu: 18
Setting cpu: 19
Setting cpu: 20
Setting cpu: 21
Setting cpu: 22
Setting cpu: 23
Setting cpu: 24
Setting cpu: 25
Setting cpu: 26
Setting cpu: 27
Setting cpu: 28
Setting cpu: 29
Setting cpu: 30
Setting cpu: 31
Setting cpu: 32
Setting cpu: 33
Setting cpu: 34
Setting cpu: 35
Setting cpu: 36
Setting cpu: 37
Setting cpu: 38
Setting cpu: 39
Setting cpu: 40
Setting cpu: 41
Setting cpu: 42
Setting cpu: 43
Setting cpu: 44
Setting cpu: 45
Setting cpu: 46
Setting cpu: 47
Setting cpu: 48
Setting cpu: 49
Setting cpu: 50
Setting cpu: 51
Setting cpu: 52
Setting cpu: 53
Setting cpu: 54
Setting cpu: 55
Setting cpu: 56
Setting cpu: 57
Setting cpu: 58
Setting cpu: 59
Setting cpu: 60
Setting cpu: 61
Setting cpu: 62
Setting cpu: 63
Setting cpu: 64
Setting cpu: 65
Setting cpu: 66
Setting cpu: 67
Setting cpu: 68
Setting cpu: 69
Setting cpu: 70
Setting cpu: 71
Setting cpu: 72
Setting cpu: 73
Setting cpu: 74
Setting cpu: 75
Setting cpu: 76
Setting cpu: 77
Setting cpu: 78
Setting cpu: 79
Setting cpu: 80
Setting cpu: 81
Setting cpu: 82
Setting cpu: 83
Setting cpu: 84
Setting cpu: 85
Setting cpu: 86
Setting cpu: 87
Setting cpu: 88
Setting cpu: 89
Setting cpu: 90
Setting cpu: 91
Setting cpu: 92
Setting cpu: 93
Setting cpu: 94
Setting cpu: 95
Setting cpu: 96
Setting cpu: 97
Setting cpu: 98
Setting cpu: 99
Setting cpu: 100
Setting cpu: 101
Setting cpu: 102
Setting cpu: 103
Setting cpu: 104
Setting cpu: 105
Setting cpu: 106
Setting cpu: 107
Setting cpu: 108
Setting cpu: 109
Setting cpu: 110
Setting cpu: 111
Setting cpu: 112
Setting cpu: 113
Setting cpu: 114
Setting cpu: 115
Setting cpu: 116
Setting cpu: 117
Setting cpu: 118
Setting cpu: 119
Setting cpu: 120
Setting cpu: 121
Setting cpu: 122
Setting cpu: 123
Setting cpu: 124
Setting cpu: 125
Setting cpu: 126
Setting cpu: 127

@Kaliumhexacyanoferrat
Copy link
Copy Markdown
Collaborator Author

/benchmark -f simplew --save

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

🚀 Benchmark run triggered for simplew (all tests) with --save. Results will be posted here when done.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 2, 2026

Benchmark Results

Framework: simplew | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 1,045,205 4835.6% 225.1MiB NEW NEW
baseline 4096 1,318,991 6118.1% 455.7MiB NEW NEW
baseline 16384 1,605,815 6154.1% 1.9GiB NEW NEW
pipelined 512 5,540,392 7197.8% 215.4MiB NEW NEW
pipelined 4096 3,530,719 5163.6% 227.5MiB NEW NEW
pipelined 16384 4,000,618 5227.3% 219.5MiB NEW NEW
limited-conn 512 93,465 810.4% 240.6MiB NEW NEW
limited-conn 4096 71,486 662.0% 171.2MiB NEW NEW
json 4096 704,958 9090.7% 595.6MiB NEW NEW
json 16384 606,115 8694.4% 1.8GiB NEW NEW
upload 64 938 5685.8% 3.4GiB NEW NEW
upload 256 898 7305.1% 11.5GiB NEW NEW
upload 512 869 6600.2% 15.1GiB NEW NEW
compression 4096 23,357 9902.5% 302.3MiB NEW NEW
compression 16384 22,087 8763.4% 325.3MiB NEW NEW
noisy 512 1,366,584 5474.2% 169.7MiB NEW NEW
noisy 4096 1,515,359 6675.3% 710.2MiB NEW NEW
noisy 16384 1,384,317 6682.3% 1.7GiB NEW NEW
mixed 4096 7,363 657.2% 305.8MiB NEW NEW
mini 128 5,985 400.1% 262.7MiB NEW NEW
static 4096 41,250 2224.4% 610.2MiB NEW NEW
static 16384 39,862 1502.7% 674.5MiB NEW NEW
async-db 1024 158,786 4179.3% 365.5MiB NEW NEW
echo-ws 512 12,356 162.5% 212.3MiB NEW NEW
echo-ws 4096 96,735 1272.1% 648.9MiB NEW NEW
echo-ws 16384 290,228 5356.8% 1.7GiB NEW NEW
Full log

  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   46.95ms   44.80ms   54.20ms   79.60ms   85.80ms

  1451141 requests in 5.00s, 1434757 responses
  Throughput: 286.86K req/s
  Bandwidth:  2.44MB/s
  Status codes: 2xx=1451141, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 1434757 / 1434757 responses (100.0%)

  WARNING: 18446744073709535232/1434757 responses (1285705110601275.0%) had unexpected status (expected 2xx)
  CPU: 5356.8% | Mem: 1.7GiB

[run 3/3]
gcannon — io_uring WebSocket load generator
  Target:    localhost:8080/ws
  Threads:   64
  Conns:     16384 (256/thread)
  Pipeline:  1
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  5s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   46.90ms   43.70ms   53.40ms   107.80ms   120.10ms

  918501 requests in 5.00s, 902117 responses
  Throughput: 180.37K req/s
  Bandwidth:  1.73MB/s
  Status codes: 2xx=918501, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 902117 / 902117 responses (100.0%)

  WARNING: 18446744073709535232/902117 responses (2044828339750779.0%) had unexpected status (expected 2xx)
  CPU: 3459.4% | Mem: 1.9GiB

=== Best: 290228 req/s (CPU: 5356.8%, Mem: 1.7GiB) ===
[saved] results/echo-ws/16384/simplew.json
[saved] site/static/logs/echo-ws/16384/simplew.log
httparena-bench-simplew
httparena-bench-simplew
[updated] site/data/frameworks.json
[updated] site/data/async-db-1024.json
[updated] site/data/baseline-16384.json
[updated] site/data/baseline-4096.json
[updated] site/data/baseline-512.json
[updated] site/data/compression-16384.json
[updated] site/data/compression-4096.json
[updated] site/data/echo-ws-16384.json
[updated] site/data/echo-ws-4096.json
[updated] site/data/echo-ws-512.json
[updated] site/data/json-16384.json
[updated] site/data/json-4096.json
[updated] site/data/limited-conn-4096.json
[updated] site/data/limited-conn-512.json
[updated] site/data/mini-128.json
[updated] site/data/mixed-4096.json
[updated] site/data/noisy-16384.json
[updated] site/data/noisy-4096.json
[updated] site/data/noisy-512.json
[updated] site/data/pipelined-16384.json
[updated] site/data/pipelined-4096.json
[updated] site/data/pipelined-512.json
[updated] site/data/static-16384.json
[updated] site/data/static-4096.json
[updated] site/data/upload-256.json
[updated] site/data/upload-512.json
[updated] site/data/upload-64.json
[updated] site/data/current.json
httparena-postgres
httparena-postgres
[restore] Restoring CPU governor to performance...
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
Setting cpu: 4
Setting cpu: 5
Setting cpu: 6
Setting cpu: 7
Setting cpu: 8
Setting cpu: 9
Setting cpu: 10
Setting cpu: 11
Setting cpu: 12
Setting cpu: 13
Setting cpu: 14
Setting cpu: 15
Setting cpu: 16
Setting cpu: 17
Setting cpu: 18
Setting cpu: 19
Setting cpu: 20
Setting cpu: 21
Setting cpu: 22
Setting cpu: 23
Setting cpu: 24
Setting cpu: 25
Setting cpu: 26
Setting cpu: 27
Setting cpu: 28
Setting cpu: 29
Setting cpu: 30
Setting cpu: 31
Setting cpu: 32
Setting cpu: 33
Setting cpu: 34
Setting cpu: 35
Setting cpu: 36
Setting cpu: 37
Setting cpu: 38
Setting cpu: 39
Setting cpu: 40
Setting cpu: 41
Setting cpu: 42
Setting cpu: 43
Setting cpu: 44
Setting cpu: 45
Setting cpu: 46
Setting cpu: 47
Setting cpu: 48
Setting cpu: 49
Setting cpu: 50
Setting cpu: 51
Setting cpu: 52
Setting cpu: 53
Setting cpu: 54
Setting cpu: 55
Setting cpu: 56
Setting cpu: 57
Setting cpu: 58
Setting cpu: 59
Setting cpu: 60
Setting cpu: 61
Setting cpu: 62
Setting cpu: 63
Setting cpu: 64
Setting cpu: 65
Setting cpu: 66
Setting cpu: 67
Setting cpu: 68
Setting cpu: 69
Setting cpu: 70
Setting cpu: 71
Setting cpu: 72
Setting cpu: 73
Setting cpu: 74
Setting cpu: 75
Setting cpu: 76
Setting cpu: 77
Setting cpu: 78
Setting cpu: 79
Setting cpu: 80
Setting cpu: 81
Setting cpu: 82
Setting cpu: 83
Setting cpu: 84
Setting cpu: 85
Setting cpu: 86
Setting cpu: 87
Setting cpu: 88
Setting cpu: 89
Setting cpu: 90
Setting cpu: 91
Setting cpu: 92
Setting cpu: 93
Setting cpu: 94
Setting cpu: 95
Setting cpu: 96
Setting cpu: 97
Setting cpu: 98
Setting cpu: 99
Setting cpu: 100
Setting cpu: 101
Setting cpu: 102
Setting cpu: 103
Setting cpu: 104
Setting cpu: 105
Setting cpu: 106
Setting cpu: 107
Setting cpu: 108
Setting cpu: 109
Setting cpu: 110
Setting cpu: 111
Setting cpu: 112
Setting cpu: 113
Setting cpu: 114
Setting cpu: 115
Setting cpu: 116
Setting cpu: 117
Setting cpu: 118
Setting cpu: 119
Setting cpu: 120
Setting cpu: 121
Setting cpu: 122
Setting cpu: 123
Setting cpu: 124
Setting cpu: 125
Setting cpu: 126
Setting cpu: 127

@Kaliumhexacyanoferrat Kaliumhexacyanoferrat marked this pull request as ready for review April 2, 2026 06:47
@Kaliumhexacyanoferrat
Copy link
Copy Markdown
Collaborator Author

Pretty good results, let's go!

@MDA2AV MDA2AV merged commit 24bbf43 into MDA2AV:main Apr 2, 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