Skip to content

Zix 0.4.x#875

Open
prothegee wants to merge 23 commits into
MDA2AV:mainfrom
prothegee:zix-0.4.x
Open

Zix 0.4.x#875
prothegee wants to merge 23 commits into
MDA2AV:mainfrom
prothegee:zix-0.4.x

Conversation

@prothegee

@prothegee prothegee commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

Description

Bump HttpArena to zix 0.4.x

Adding:

Removing:

  • WebSocket implementation.

Required to call from HttpArena:

  • /benchmark -f zix
  • /benchmark -f zix --save

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.

@prothegee

Copy link
Copy Markdown
Contributor Author

/benchmark -f zix

@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: zix | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 3,684,361 6560.6% 342MiB +851.8% +434.4%
baseline 4096 3,684,929 6436.5% 412MiB +871.6% +347.8%
pipelined 512 49,709,356 6525.3% 342MiB +13339.5% +418.2%
pipelined 4096 49,810,582 6571.8% 394MiB +13859.4% +323.7%
limited-conn 512 2,557,072 5718.3% 483MiB +749.6% +631.8%
limited-conn 4096 2,753,248 6202.4% 1.5GiB +884.4% +1436.0%
json 4096 2,394,862 6234.4% 1.3GiB +619.2% +1244.6%
upload 32 8,254 1041.2% 337MiB +90.5% -74.7%
upload 256 6,664 888.4% 379MiB +40.9% -73.6%
static 1024 2,038,521 5639.0% 356MiB +654.7% +408.6%
static 4096 2,025,260 5588.1% 416MiB +668.4% +347.3%
static 6800 1,985,113 5345.2% 499MiB +663.0% +333.9%
Full log

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   38.14ms   38.60ms   41.50ms   43.40ms   70.60ms

  33454 requests in 5.02s, 33458 responses
  Throughput: 6.67K req/s
  Bandwidth:  463.76KB/s
  Status codes: 2xx=33458, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 33458 / 33458 responses (100.0%)
  Reconnects: 6684
  Per-template: 8365,8364,8364,8365
  Per-template-ok: 8365,8364,8364,8365
[info] CPU 888.4% | Mem 379MiB

=== Best: 6664 req/s (CPU: 888.4%, Mem: 379MiB) ===
[info] input BW: 52.86GB/s (avg template: 8516680 bytes)
[info] saved results/upload/256/zix.json
httparena-bench-zix
httparena-bench-zix
[info] skip: zix does not subscribe to api-4
[info] skip: zix does not subscribe to api-16

==============================================
=== zix / static / 1024c (tool=wrk) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
Running 5s test @ http://localhost:8080
  64 threads and 1024 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   350.36us  782.16us  25.70ms   99.51%
    Req/Sec    31.65k     1.10k   40.35k    97.09%
  10275191 requests in 5.10s, 156.53GB read
Requests/sec: 2014513.05
Transfer/sec:     30.69GB
[info] CPU 5526.8% | Mem 348MiB

[run 2/3]
Running 5s test @ http://localhost:8080
  64 threads and 1024 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   305.03us  119.45us   5.45ms   70.81%
    Req/Sec    31.92k   600.61    39.43k    96.97%
  10359630 requests in 5.10s, 157.82GB read
Requests/sec: 2031349.39
Transfer/sec:     30.95GB
[info] CPU 5613.2% | Mem 350MiB

[run 3/3]
Running 5s test @ http://localhost:8080
  64 threads and 1024 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   304.37us  117.45us   2.59ms   69.67%
    Req/Sec    32.03k   610.74    39.39k    96.87%
  10396457 requests in 5.10s, 158.38GB read
Requests/sec: 2038521.78
Transfer/sec:     31.05GB
[info] CPU 5639.0% | Mem 356MiB

=== Best: 2038521 req/s (CPU: 5639.0%, Mem: 356MiB) ===
[info] saved results/static/1024/zix.json
httparena-bench-zix
httparena-bench-zix

==============================================
=== zix / static / 4096c (tool=wrk) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
Running 5s test @ http://localhost:8080
  64 threads and 4096 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.13ms    1.19ms  44.33ms   99.37%
    Req/Sec    31.72k     1.06k   41.73k    96.84%
  10286006 requests in 5.10s, 156.69GB read
Requests/sec: 2016663.44
Transfer/sec:     30.72GB
[info] CPU 5438.2% | Mem 401MiB

[run 2/3]
Running 5s test @ http://localhost:8080
  64 threads and 4096 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.06ms  272.28us   6.16ms   91.34%
    Req/Sec    31.86k     0.90k   41.56k    94.17%
  10329919 requests in 5.10s, 157.36GB read
Requests/sec: 2025260.27
Transfer/sec:     30.85GB
[info] CPU 5588.1% | Mem 416MiB

[run 3/3]
Running 5s test @ http://localhost:8080
  64 threads and 4096 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.06ms  259.24us   3.90ms   92.12%
    Req/Sec    31.68k   833.67    41.33k    94.41%
  10265542 requests in 5.10s, 156.38GB read
Requests/sec: 2012717.19
Transfer/sec:     30.66GB
[info] CPU 5514.1% | Mem 431MiB

=== Best: 2025260 req/s (CPU: 5588.1%, Mem: 416MiB) ===
[info] saved results/static/4096/zix.json
httparena-bench-zix
httparena-bench-zix

==============================================
=== zix / static / 6800c (tool=wrk) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
Running 5s test @ http://localhost:8080
  64 threads and 6800 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.83ms    1.18ms  48.49ms   94.24%
    Req/Sec    30.94k     0.87k   41.53k    96.76%
  10004587 requests in 5.10s, 152.41GB read
Requests/sec: 1961618.34
Transfer/sec:     29.88GB
[info] CPU 5305.6% | Mem 446MiB

[run 2/3]
Running 5s test @ http://localhost:8080
  64 threads and 6800 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.78ms  424.61us   5.75ms   92.14%
    Req/Sec    31.21k     1.07k   46.21k    97.77%
  10080322 requests in 5.10s, 153.56GB read
Requests/sec: 1975909.96
Transfer/sec:     30.10GB
[info] CPU 5364.9% | Mem 473MiB

[run 3/3]
Running 5s test @ http://localhost:8080
  64 threads and 6800 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.76ms  365.51us   5.53ms   94.01%
    Req/Sec    31.22k     1.02k   46.74k    97.56%
  10093648 requests in 5.08s, 153.76GB read
Requests/sec: 1985113.68
Transfer/sec:     30.24GB
[info] CPU 5345.2% | Mem 499MiB

=== Best: 1985113 req/s (CPU: 5345.2%, Mem: 499MiB) ===
[info] saved results/static/6800/zix.json
httparena-bench-zix
httparena-bench-zix
[info] skip: zix does not subscribe to async-db
[info] skip: zix does not subscribe to crud
[info] skip: zix does not subscribe to fortunes
[info] skip: zix does not subscribe to baseline-h2
[info] skip: zix does not subscribe to static-h2
[info] skip: zix does not subscribe to baseline-h2c
[info] skip: zix does not subscribe to json-h2c
[info] skip: zix does not subscribe to baseline-h3
[info] skip: zix does not subscribe to static-h3
[info] skip: zix does not subscribe to gateway-64
[info] skip: zix does not subscribe to gateway-h3
[info] skip: zix does not subscribe to production-stack
[info] skip: zix does not subscribe to unary-grpc
[info] skip: zix does not subscribe to unary-grpc-tls
[info] skip: zix does not subscribe to stream-grpc
[info] skip: zix does not subscribe to stream-grpc-tls
[info] skip: zix does not subscribe to echo-ws
[info] skip: zix does not subscribe to echo-ws-pipeline
[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/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

@prothegee prothegee marked this pull request as draft June 14, 2026 23:24
@prothegee

prothegee commented Jun 14, 2026

Copy link
Copy Markdown
Contributor Author

Remark: Converting to draft.

Reason: Dilemma tuning dispatch model.

PR Relations:

This was referenced Jun 14, 2026
@prothegee prothegee marked this pull request as ready for review June 15, 2026 22:19
@prothegee

prothegee commented Jun 15, 2026

Copy link
Copy Markdown
Contributor Author

Attempt 2 new approach bench.
Bump to rc2 (PR init message update)

  • rc2 test 1
  • [ ] rc2 test 2

Once those two satisfied, 0.4.x will be set and assign.

@prothegee

Copy link
Copy Markdown
Contributor Author

Interesting
image

Retriggering.

@MDA2AV

MDA2AV commented Jun 15, 2026

Copy link
Copy Markdown
Owner

Try later, maybe github issue

@prothegee

Copy link
Copy Markdown
Contributor Author

Try later, maybe github issue

Alright, let's wait.

@prothegee

Copy link
Copy Markdown
Contributor Author

Yep, github problem. Codeberg is fine.

@prothegee

Copy link
Copy Markdown
Contributor Author

Attempt rc2 test 1

@prothegee

Copy link
Copy Markdown
Contributor Author

/benchmark -f zix

@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: zix | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 3,696,411 6430.3% 342MiB +854.9% +434.4%
baseline 4096 3,672,461 6389.6% 412MiB +868.3% +347.8%
pipelined 512 49,176,073 6493.1% 342MiB +13195.3% +418.2%
pipelined 4096 49,372,540 6553.9% 395MiB +13736.7% +324.7%
limited-conn 512 2,528,627 5713.4% 482MiB +740.1% +630.3%
limited-conn 4096 2,730,071 6188.2% 1.5GiB +876.1% +1436.0%
json 4096 2,396,621 6467.6% 1.2GiB +619.7% +1141.2%
upload 32 8,038 1051.5% 339MiB +85.5% -74.5%
upload 256 6,496 892.1% 380MiB +37.4% -73.5%
static 1024 2,031,553 5673.5% 351MiB +652.2% +401.4%
static 4096 2,011,161 5561.4% 416MiB +663.0% +347.3%
static 6800 1,947,041 5341.0% 473MiB +648.3% +311.3%
Full log

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   38.97ms   39.50ms   42.60ms   44.80ms   47.50ms

  32608 requests in 5.02s, 32611 responses
  Throughput: 6.49K req/s
  Bandwidth:  451.76KB/s
  Status codes: 2xx=32611, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 32611 / 32611 responses (100.0%)
  Reconnects: 6520
  Per-template: 8152,8153,8154,8152
  Per-template-ok: 8152,8153,8154,8152
[info] CPU 892.1% | Mem 380MiB

=== Best: 6496 req/s (CPU: 892.1%, Mem: 380MiB) ===
[info] input BW: 51.52GB/s (avg template: 8516680 bytes)
[info] saved results/upload/256/zix.json
httparena-bench-zix
httparena-bench-zix
[info] skip: zix does not subscribe to api-4
[info] skip: zix does not subscribe to api-16

==============================================
=== zix / static / 1024c (tool=wrk) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
Running 5s test @ http://localhost:8080
  64 threads and 1024 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   346.78us  702.76us  25.60ms   99.52%
    Req/Sec    31.45k     1.06k   39.40k    96.97%
  10207711 requests in 5.10s, 155.50GB read
Requests/sec: 2001523.34
Transfer/sec:     30.49GB
[info] CPU 5540.9% | Mem 347MiB

[run 2/3]
Running 5s test @ http://localhost:8080
  64 threads and 1024 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   308.29us  124.96us   8.48ms   71.41%
    Req/Sec    31.92k   669.15    40.89k    97.43%
  10361284 requests in 5.10s, 157.84GB read
Requests/sec: 2031553.01
Transfer/sec:     30.95GB
[info] CPU 5673.5% | Mem 351MiB

[run 3/3]
Running 5s test @ http://localhost:8080
  64 threads and 1024 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   302.80us  116.11us   3.58ms   71.43%
    Req/Sec    31.82k   739.03    40.23k    97.98%
  10330940 requests in 5.10s, 157.38GB read
Requests/sec: 2025590.31
Transfer/sec:     30.86GB
[info] CPU 5662.8% | Mem 354MiB

=== Best: 2031553 req/s (CPU: 5673.5%, Mem: 351MiB) ===
[info] saved results/static/1024/zix.json
httparena-bench-zix
httparena-bench-zix

==============================================
=== zix / static / 4096c (tool=wrk) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
Running 5s test @ http://localhost:8080
  64 threads and 4096 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.15ms    0.90ms  26.27ms   96.34%
    Req/Sec    30.91k     1.12k   40.81k    96.29%
  10029038 requests in 5.10s, 152.78GB read
Requests/sec: 1966159.21
Transfer/sec:     29.95GB
[info] CPU 5341.0% | Mem 400MiB

[run 2/3]
Running 5s test @ http://localhost:8080
  64 threads and 4096 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.08ms  301.91us   5.18ms   89.61%
    Req/Sec    31.64k     0.92k   46.38k    97.11%
  10257430 requests in 5.10s, 156.26GB read
Requests/sec: 2011161.80
Transfer/sec:     30.64GB
[info] CPU 5561.4% | Mem 416MiB

[run 3/3]
Running 5s test @ http://localhost:8080
  64 threads and 4096 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.08ms  304.96us   6.09ms   89.44%
    Req/Sec    31.54k     1.02k   44.56k    95.61%
  10226472 requests in 5.10s, 155.79GB read
Requests/sec: 2005050.23
Transfer/sec:     30.54GB
[info] CPU 5464.3% | Mem 432MiB

=== Best: 2011161 req/s (CPU: 5561.4%, Mem: 416MiB) ===
[info] saved results/static/4096/zix.json
httparena-bench-zix
httparena-bench-zix

==============================================
=== zix / static / 6800c (tool=wrk) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
Running 5s test @ http://localhost:8080
  64 threads and 6800 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.85ms  755.95us  28.70ms   92.53%
    Req/Sec    30.36k   730.37    39.70k    94.01%
  9825312 requests in 5.10s, 149.68GB read
Requests/sec: 1927392.29
Transfer/sec:     29.36GB
[info] CPU 5222.8% | Mem 447MiB

[run 2/3]
Running 5s test @ http://localhost:8080
  64 threads and 6800 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.82ms  479.25us   7.28ms   90.86%
    Req/Sec    30.63k     1.03k   44.76k    96.38%
  9899970 requests in 5.08s, 150.81GB read
Requests/sec: 1947041.11
Transfer/sec:     29.66GB
[info] CPU 5341.0% | Mem 473MiB

[run 3/3]
Running 5s test @ http://localhost:8080
  64 threads and 6800 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.81ms  448.60us  10.12ms   91.82%
    Req/Sec    30.69k     1.17k   47.47k    96.57%
  9924530 requests in 5.10s, 151.19GB read
Requests/sec: 1945808.10
Transfer/sec:     29.64GB
[info] CPU 5271.4% | Mem 499MiB

=== Best: 1947041 req/s (CPU: 5341.0%, Mem: 473MiB) ===
[info] saved results/static/6800/zix.json
httparena-bench-zix
httparena-bench-zix
[info] skip: zix does not subscribe to async-db
[info] skip: zix does not subscribe to crud
[info] skip: zix does not subscribe to fortunes
[info] skip: zix does not subscribe to baseline-h2
[info] skip: zix does not subscribe to static-h2
[info] skip: zix does not subscribe to baseline-h2c
[info] skip: zix does not subscribe to json-h2c
[info] skip: zix does not subscribe to baseline-h3
[info] skip: zix does not subscribe to static-h3
[info] skip: zix does not subscribe to gateway-64
[info] skip: zix does not subscribe to gateway-h3
[info] skip: zix does not subscribe to production-stack
[info] skip: zix does not subscribe to unary-grpc
[info] skip: zix does not subscribe to unary-grpc-tls
[info] skip: zix does not subscribe to stream-grpc
[info] skip: zix does not subscribe to stream-grpc-tls
[info] skip: zix does not subscribe to echo-ws
[info] skip: zix does not subscribe to echo-ws-pipeline
[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/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

@prothegee

prothegee commented Jun 16, 2026

Copy link
Copy Markdown
Contributor Author

Not sure, could be from container, Dockerimage related, or something else.

What I've been tried:

  • Docker image: alpine:3.20
    • [FAIL] curl usual way:
    • [FAIL] curl url wrapin double quote.
    • [PASS] git clone over https.
    • [TBA] wget?
    • [TBA] native zig fetch.

@prothegee prothegee marked this pull request as draft June 16, 2026 00:54
@prothegee prothegee marked this pull request as ready for review June 16, 2026 00:57
@prothegee

Copy link
Copy Markdown
Contributor Author

Using git clone over https works, but got some error in ci.

Attempt rc2 test 1.

@prothegee

Copy link
Copy Markdown
Contributor Author

/benchmark -f zix

@github-actions

Copy link
Copy Markdown
Contributor

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

@prothegee prothegee marked this pull request as draft June 16, 2026 08:47
@github-actions

Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: zix | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 4,142,990 6252.6% 135MiB +970.2% +110.9%
baseline 4096 4,396,570 6125.9% 184MiB +1059.2% +100.0%
pipelined 512 53,411,929 6477.7% 132MiB +14340.5% +100.0%
pipelined 4096 54,757,753 6208.2% 183MiB +15245.9% +96.8%
limited-conn 512 347,901 725.7% 144MiB +15.6% +118.2%
limited-conn 4096 363,447 720.8% 216MiB +29.9% +116.0%
json 4096 636,395 1312.8% 204MiB +91.1% +106.1%
upload 32 3,025 1734.8% 130MiB -30.2% -90.2%
upload 256 2,874 2616.1% 146MiB -39.2% -89.8%
static 1024 2,010,593 5538.5% 139MiB +644.4% +98.6%
static 4096 2,012,232 5533.4% 194MiB +663.4% +108.6%
static 6800 1,961,895 5261.4% 245MiB +654.1% +113.0%
Full log

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   69.37ms   66.80ms   121.90ms   172.70ms   202.50ms

  14248 requests in 5.03s, 14281 responses
  Throughput: 2.84K req/s
  Bandwidth:  197.58KB/s
  Status codes: 2xx=14281, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 14277 / 14281 responses (100.0%)
  Reconnects: 2840
  Per-template: 3494,3621,3615,3547
  Per-template-ok: 3494,3621,3615,3547
[info] CPU 2479.6% | Mem 148MiB

=== Best: 2874 req/s (CPU: 2616.1%, Mem: 146MiB) ===
[info] input BW: 22.80GB/s (avg template: 8516680 bytes)
[info] saved results/upload/256/zix.json
httparena-bench-zix
httparena-bench-zix
[info] skip: zix does not subscribe to api-4
[info] skip: zix does not subscribe to api-16

==============================================
=== zix / static / 1024c (tool=wrk) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
Running 5s test @ http://localhost:8080
  64 threads and 1024 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   359.79us    0.88ms  43.96ms   99.44%
    Req/Sec    30.75k     1.26k   39.66k    97.00%
  9987381 requests in 5.10s, 152.15GB read
Requests/sec: 1958361.45
Transfer/sec:     29.83GB
[info] CPU 5396.6% | Mem 141MiB

[run 2/3]
Running 5s test @ http://localhost:8080
  64 threads and 1024 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   302.92us  114.42us   3.63ms   72.18%
    Req/Sec    31.59k   602.23    39.40k    97.79%
  10254375 requests in 5.10s, 156.21GB read
Requests/sec: 2010593.96
Transfer/sec:     30.63GB
[info] CPU 5538.5% | Mem 139MiB

[run 3/3]
Running 5s test @ http://localhost:8080
  64 threads and 1024 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   304.13us  112.83us   3.56ms   71.46%
    Req/Sec    31.38k   668.46    39.01k    97.73%
  10187665 requests in 5.10s, 155.20GB read
Requests/sec: 1997566.88
Transfer/sec:     30.43GB
[info] CPU 5488.2% | Mem 141MiB

=== Best: 2010593 req/s (CPU: 5538.5%, Mem: 139MiB) ===
[info] saved results/static/1024/zix.json
httparena-bench-zix
httparena-bench-zix

==============================================
=== zix / static / 4096c (tool=wrk) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
Running 5s test @ http://localhost:8080
  64 threads and 4096 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.13ms    0.93ms  67.33ms   97.36%
    Req/Sec    31.06k   787.60    40.15k    93.06%
  10071916 requests in 5.10s, 153.43GB read
Requests/sec: 1974550.98
Transfer/sec:     30.08GB
[info] CPU 5298.8% | Mem 192MiB

[run 2/3]
Running 5s test @ http://localhost:8080
  64 threads and 4096 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.07ms  283.58us   6.04ms   90.81%
    Req/Sec    31.66k     0.92k   45.43k    95.64%
  10264676 requests in 5.10s, 156.37GB read
Requests/sec: 2012232.56
Transfer/sec:     30.65GB
[info] CPU 5533.4% | Mem 194MiB

[run 3/3]
Running 5s test @ http://localhost:8080
  64 threads and 4096 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.08ms  267.05us   8.06ms   92.00%
    Req/Sec    31.25k     0.86k   42.77k    95.85%
  10126769 requests in 5.10s, 154.27GB read
Requests/sec: 1985609.83
Transfer/sec:     30.25GB
[info] CPU 5383.4% | Mem 194MiB

=== Best: 2012232 req/s (CPU: 5533.4%, Mem: 194MiB) ===
[info] saved results/static/4096/zix.json
httparena-bench-zix
httparena-bench-zix

==============================================
=== zix / static / 6800c (tool=wrk) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
Running 5s test @ http://localhost:8080
  64 threads and 6800 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.85ms    1.20ms  77.20ms   94.08%
    Req/Sec    30.58k   759.52    41.56k    95.15%
  9884140 requests in 5.10s, 150.57GB read
Requests/sec: 1938007.39
Transfer/sec:     29.52GB
[info] CPU 5096.8% | Mem 240MiB

[run 2/3]
Running 5s test @ http://localhost:8080
  64 threads and 6800 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.80ms  450.17us   8.00ms   91.73%
    Req/Sec    30.87k     0.97k   41.86k    97.40%
  9980931 requests in 5.10s, 152.05GB read
Requests/sec: 1958792.84
Transfer/sec:     29.84GB
[info] CPU 5240.5% | Mem 237MiB

[run 3/3]
Running 5s test @ http://localhost:8080
  64 threads and 6800 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.78ms  372.04us   6.56ms   94.11%
    Req/Sec    30.93k     0.93k   42.65k    97.50%
  10001033 requests in 5.10s, 152.35GB read
Requests/sec: 1961895.87
Transfer/sec:     29.89GB
[info] CPU 5261.4% | Mem 245MiB

=== Best: 1961895 req/s (CPU: 5261.4%, Mem: 245MiB) ===
[info] saved results/static/6800/zix.json
httparena-bench-zix
httparena-bench-zix
[info] skip: zix does not subscribe to async-db
[info] skip: zix does not subscribe to crud
[info] skip: zix does not subscribe to fortunes
[info] skip: zix does not subscribe to baseline-h2
[info] skip: zix does not subscribe to static-h2
[info] skip: zix does not subscribe to baseline-h2c
[info] skip: zix does not subscribe to json-h2c
[info] skip: zix does not subscribe to baseline-h3
[info] skip: zix does not subscribe to static-h3
[info] skip: zix does not subscribe to gateway-64
[info] skip: zix does not subscribe to gateway-h3
[info] skip: zix does not subscribe to production-stack
[info] skip: zix does not subscribe to unary-grpc
[info] skip: zix does not subscribe to unary-grpc-tls
[info] skip: zix does not subscribe to stream-grpc
[info] skip: zix does not subscribe to stream-grpc-tls
[info] skip: zix does not subscribe to echo-ws
[info] skip: zix does not subscribe to echo-ws-pipeline
[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/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

@prothegee

Copy link
Copy Markdown
Contributor Author

Finalizing 0.4.x-rc2 to 0.4.x

@prothegee prothegee marked this pull request as ready for review June 16, 2026 17:49
@prothegee

Copy link
Copy Markdown
Contributor Author

Bump to zix 0.4.x

@prothegee

Copy link
Copy Markdown
Contributor Author

/benchmark -f zix

@github-actions

Copy link
Copy Markdown
Contributor

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

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