Skip to content

Morojs 1.8.16 - #1678

Open
M-Chris wants to merge 3 commits into
MDA2AV:mainfrom
M-Chris:morojs-1.8.16
Open

M-Chris wants to merge 3 commits into
MDA2AV:mainfrom
M-Chris:morojs-1.8.16

Conversation

@M-Chris

@M-Chris M-Chris commented Oct 29, 2026

Copy link
Copy Markdown
Contributor

Description


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

Command Description
/benchmark -f <framework> Run every test the framework subscribes to
/benchmark -f <framework> -t <test> Run one test only
/benchmark -f <framework> --save Run and save results (updates the leaderboard on merge)
/benchmark -f <framework> -t <test> --save Run one test and save results
/benchmark -f <framework> --compare <other> Measure the deltas against another framework instead of this one
/benchmark-multiple -f <fw1>,<fw2>,... Benchmark several frameworks in one run — takes -t and --save too; saved results land in a single commit
/benchmark-multiple --save No -f needed: benchmark and save every framework the PR touches
/benchmark-test -t <test> Benchmark all enabled frameworks subscribed to <test> and save the results

For /benchmark, always specify -f <framework>; the flags combine in any order. Results come back as a comment with a per-profile table of RPS, p99, CPU and memory — one table per framework on multi runs. A new benchmark comment while a run is in flight queues behind it (one deep) instead of cancelling it. For multi-framework PRs (dependency bumps, same-language refactors) prefer /benchmark-multiple, which runs everything in a single job and commits all saved results together, so no run overwrites another. --compare works on single-framework runs only.

What the deltas are measured against. By default, this framework's own results published on main - answering "did this change help?". When you are tuning a variant or a successor entry, --compare re-bases them on another entry instead:

/benchmark -f genhttp --compare genhttp-kestrel

The reply states which baseline it used, and profiles the other framework does not run show n/a rather than a delta.


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) are built as self-contained Docker images on first run.

…r only

Two more processes of the same file on Moro's HTTP/2 server (Node's http2
module behind the framework's request and response objects): :8443 with ALPN
h2 for baseline-h2 and static-h2, :8082 cleartext prior-knowledge h2 for
baseline-h2c and json-h2c. The compression middleware moves to the /json
route of the plain listener alone, so json-tls stays on the router's fast
path. Picks up MoroJS 1.8.15.
… gzip level 3, prepared replies

The entry was losing to the other JS entries on four fronts, none of them the
harness. Each is fixed where it lived - the engine, the framework, or here.

- echo-ws-pipeline (6x behind): the engine answered every WebSocket frame with
  its own send(). @morojs/engine 1.1.14 corks the connection for the whole
  read, so a pipelined batch leaves in one write; nothing changes here beyond
  the version.
- static-tls (10x behind): staticFiles() resolved, stat'ed and read the file
  and its sidecars on every request, five to eight threadpool round trips
  shared by all 64 worker threads of the process. MoroJS 1.8.16 adds
  staticFiles({ cache: true }): files and .br/.gz sidecars read once and
  served from memory with their validators, the disk stat'ed again at most
  once a second and on directory changes (same-length replacements are
  noticed, so the staleness probe passes).
- json-comp (3x) and gateway-64 (2x, its load sends Accept-Encoding): gzip at
  the default level 6 per request. The route now asks for gzip level 3
  through the middleware's new gzip option, with the encoder reused between
  bodies (reuseEncoders); brotli quality 3 stays available for a client that
  accepts nothing else. Measured on the json-comp bodies: a little over a
  third of the CPU of level 6 for 9% more bytes.
- json-tls, 8gbit, baseline POST (10-30%): the static middleware on the TLS
  listener and every request body forced the engine server off its
  synchronous dispatch. 1.8.16 runs sync middleware chains and body parsing
  on the sync path, so the path check stays cheap; /echo and /baseline2 on
  the engine no longer set a Content-Type by hand, so they go out through the
  framework's prepared replies.

Also: CERTS_DIR, STATIC_ROOT and WORKERS environment overrides for running
the entry outside the container, the Dockerfile's threadpool note brought up
to date, README and meta description updated.

Local A/B on a 4-worker macOS run, published 1.8.15 against this: pipelined
WebSocket echo 257K -> 971K frames/s, static over plaintext 11.5K -> 49.5K
rps (9.7K -> 33.9K over TLS), /json/50 with gzip 11.8K -> 17.6K rps,
baseline POST +12%.
@M-Chris

M-Chris commented Oct 29, 2026

Copy link
Copy Markdown
Contributor Author

/benchmark -f morojs --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: morojs | Test: all tests

Test Conn RPS Rate CPU/req p99 p99.9 CPU Mem Δ RPS Δ Mem
baseline 4096 2,423,165 — — — — 6687.5% 8.4GiB +9.9% +110.0%
pipelined 4096 37,587,043 — — — — 6665.3% 8.2GiB -0.2% +110.3%
limited-conn 4096 1,996,238 — — — — 6519.4% 8.4GiB +5.9% +110.0%
json-comp 4096 483,296 — — — — 6252.8% 9.7GiB +228.6% +9.0%
json-comp 16384 479,027 — — — — 6568.6% 11.0GiB +268.9% -6.0%
json-tls 4096 960,598 — — — — 6622.1% 9.0GiB +13.7% +114.3%
8gbit 512 49,295 0.9859 68.82us 153.0us 6370.0us 322.5% 9.2GiB ~0% +124.4%
static-tls 1024 391,428 — — — — 6446.7% 8.5GiB +452.0% +93.2%
async-db 1024 194,463 — — — — 5175.0% 9.4GiB +0.7% +91.8%
fortunes 1024 62,933 — — — — 6493.6% 10.1GiB +2.1% +65.6%
baseline-h2 256 792,420 — — — — 6359.6% 13.2GiB NEW NEW
baseline-h2 1024 736,217 — — — — 6351.6% 13.8GiB NEW NEW
static-h2 256 455,706 — — — — 6475.9% 13.6GiB NEW NEW
static-h2 1024 405,817 — — — — 6470.0% 14.9GiB NEW NEW
baseline-h2c 256 913,697 — — — — 6385.4% 12.9GiB NEW NEW
baseline-h2c 1024 872,741 — — — — 6398.7% 13.2GiB NEW NEW
baseline-h2c 4096 805,234 — — — — 6292.2% 14.0GiB NEW NEW
json-h2c 1024 703,487 — — — — 6462.0% 13.5GiB NEW NEW
json-h2c 4096 603,990 — — — — 6416.3% 13.0GiB NEW NEW
gateway-64 512 253,893 — — — — 5028.4% 4.6GiB +93.1% ~0%
gateway-64 1024 255,138 — — — — 5679.7% 5.0GiB +93.3% -19.4%
gateway-h3 64 82,650 — — — — 3389.0% 2.6GiB +1.6% +62.5%
gateway-h3 256 59,242 — — — — 2564.8% 3.6GiB +0.6% +44.0%
production-stack 256 109,749 — — — — 2610.3% 3.2GiB -9.2% +33.3%
production-stack 1024 106,702 — — — — 2805.4% 3.9GiB +0.2% +25.8%
echo-ws 512 3,500,108 — — — — 6415.4% 8.0GiB +3.5% +110.5%
echo-ws 4096 3,598,655 — — — — 6313.1% 8.3GiB +4.4% +112.8%
echo-ws 16384 3,206,405 — — — — 6088.9% 8.3GiB +2.3% +102.4%
echo-ws-pipeline 512 20,838,912 — — — — 6712.7% 8.3GiB +384.5% +112.8%
echo-ws-pipeline 4096 21,407,936 — — — — 6773.0% 8.3GiB +382.8% +107.5%
echo-ws-pipeline 16384 20,690,537 — — — — 6706.0% 9.0GiB +379.4% +114.3%
echo-ws-limited 512 1,841,352 — — — — 5663.8% 8.5GiB +9.3% +97.7%
echo-ws-limited 4096 2,255,428 — — — — 6176.9% 8.6GiB +12.4% +68.6%
latency-1m 1024 997,910 0.9979 27.74us 213.0us 2415.0us 3046.4% 8.3GiB ~0% +112.8%
latency-10k 1024 9,982 0.9982 33.85us 114.0us 233.0us 32.4% 7.8GiB ~0% +116.7%
latency-500k-8cpu 1024 392,420 0.7848 ⚠️ 20.32us 5871616.0us 6117376.0us 788.2% 1.1GiB -1.0% +128.0%
async 32000 1,952,746 — — — — 6205.5% 9.9GiB -1.8% +110.6%

Composite score, main against this run, in the board's default view:

Family main this run Δ
HTTP/1.1 5524.8 (#15 of 102) 6278.8 (#8 of 102) +754.0
HTTP/2 - 906.0 (#17 of 36) -
Gateway 1836.8 (#5 of 9) 2273.2 (#4 of 9) +436.4
WebSocket 1694.0 (#10 of 35) 2110.2 (#7 of 35) +416.3

The results on main were measured in another session, so a few points up or down can be the machine and not the change.

Full log
  "duration_s": 20.002,
  "requests": 199670,
  "bytes": 23361390,
  "achieved_rate": 9982.36,
  "target_rate": 10000,
  "target_rate_end": 10000,
  "rate_ratio": 0.9982,
  "bytes_per_sec": 1167935.66,
  "error_rate": 0.000000,
  "max_schedule_lag_us": 0,
  "latency_us": {
    "min": 35, "mean": 79.8, "stdev": 518.9, "max": 38239,
    "p50": 63, "p75": 70, "p90": 85, "p99": 114, "p99_9": 233, "p99_99": 27304
  },
  "status_codes": { "1xx": 0, "2xx": 199670, "3xx": 0, "4xx": 0, "5xx": 0 },
  "errors": { "connect": 0, "read": 0, "write": 0, "timeout": 0, "deadline": 0, "non_2xx_3xx": 0 },
  "latency_histogram": "HISTFAAAAjJ4nC1QXUhTYRg+73O+s7Oz/zHXmD+pbeqFLi9s1ZIQqkHURUqEJF10I2U/BEVFhTdt/iASmEImaevnYhcWRaRejYiQihixQMRrMfEipIsYsYuezc7H+d6/532e731r05MBTcO4tvPp/61UgskRrWt7J5EElCvaNypZKcgctvBQn1Zr5nzgSSzXs359dUyyE/JyQjKjsnL39bVP/dnzuf7pW5spyY3I55Qs3/x+afzcxomVruKBdEehfbttueV5ZLO+VJ0P/a2aqlr3pT1pV9Ex49iy/tjz9pJZMD+YRducLW9bs9bdC54FT8m76p/3/nYXncPODWJ+mQ/sb8xvxAwbS2pMz+A+vsqSfJQpyciMXDl+sa/72MHd+9uaaxui+47sPRRt2FO9q9nnc/hcdpfLrjTF36YppWxQCl6gBhYMmBWr8xjwowMvBLPAKwMpA7MKT+14B4ShoRcpoXHDiRsI4L1ggGEPBpkYxBfBD8FPQZBMneTqpMRZ+jXs0HCB5zTi9I/iJBsG0EQtDQmQ6gweCSsxNPI1i8AdvBXcw2OghcomS2GECA/jNhAhp8VkEPVUCfMO0U+Si4VGht5Kgq0WjYE6qmnK5B3jfO18U1nVIGl5+jiuEq6T3MmHnCJfHX9DJYhqJaasodO3Kvspr6EeFLfoBNnoR1x5WQjxREjRW1mnxttLOrfSMSTscBIY4pjcWRNrQ+U96iQ4zCCBZ0JskhA/BVsrKy5PfBmLgn9jcHkO"
}
[info] CPU 32.4% | Mem 7.8GiB
[info] run 3 wins on score

=== Best: 9982 req/s (CPU: 32.4%, Mem: 7.8GiB) ===
[info] exact CPU: 6.76 core-seconds | 33.850 us/req
=== Fixed-rate: cpu/req 33.85us | p99 114.0us | p99.9 233.0us | rate_ratio 0.9982 ===
[info] saved results/latency-10k/1024/morojs.json
httparena-bench-morojs
httparena-bench-morojs

==============================================
=== morojs / latency-500k-8cpu / 1024c (tool=zrk) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
{
  "zrk_version": "2.3.0",
  "target": { "url": "http://localhost:8080/baseline11?a=1&b=2", "method": "GET" },
  "config": { "connections": 1024, "launched": 1024, "duration_s": 20.000, "closed": false, "target_rate": 500000, "timeout_ms": 2000, "deadline_ms": 0, "deadline_abort": false, "record_timeouts": true },
  "duration_s": 20.005,
  "requests": 7820426,
  "bytes": 914989842,
  "achieved_rate": 390922.75,
  "target_rate": 500000,
  "target_rate_end": 500000,
  "rate_ratio": 0.7818,
  "bytes_per_sec": 45737961.62,
  "error_rate": 0.000000,
  "max_schedule_lag_us": 6189691,
  "latency_us": {
    "min": 97, "mean": 2172056.8, "stdev": 1320838.8, "max": 6193151,
    "p50": 2061824, "p75": 3056640, "p90": 4072448, "p99": 5302272, "p99_9": 5654528, "p99_99": 5916672
  },
  "status_codes": { "1xx": 0, "2xx": 7820426, "3xx": 0, "4xx": 0, "5xx": 0 },
  "errors": { "connect": 0, "read": 0, "write": 0, "timeout": 0, "deadline": 0, "non_2xx_3xx": 0 },
  "latency_histogram": "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"
}
[info] CPU 810.8% | Mem 1.1GiB

[run 2/3]
{
  "zrk_version": "2.3.0",
  "target": { "url": "http://localhost:8080/baseline11?a=1&b=2", "method": "GET" },
  "config": { "connections": 1024, "launched": 1024, "duration_s": 20.000, "closed": false, "target_rate": 500000, "timeout_ms": 2000, "deadline_ms": 0, "deadline_abort": false, "record_timeouts": true },
  "duration_s": 20.007,
  "requests": 7793372,
  "bytes": 911824524,
  "achieved_rate": 389534.57,
  "target_rate": 500000,
  "target_rate_end": 500000,
  "rate_ratio": 0.7791,
  "bytes_per_sec": 45575545.05,
  "error_rate": 0.000000,
  "max_schedule_lag_us": 5846581,
  "latency_us": {
    "min": 45, "mean": 2145662.0, "stdev": 1383448.4, "max": 5853183,
    "p50": 1949184, "p75": 3243008, "p90": 4105216, "p99": 5183488, "p99_9": 5457920, "p99_99": 5703680
  },
  "status_codes": { "1xx": 0, "2xx": 7793372, "3xx": 0, "4xx": 0, "5xx": 0 },
  "errors": { "connect": 0, "read": 0, "write": 0, "timeout": 0, "deadline": 0, "non_2xx_3xx": 0 },
  "latency_histogram": "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"
}
[info] CPU 792.2% | Mem 1.1GiB

[run 3/3]
{
  "zrk_version": "2.3.0",
  "target": { "url": "http://localhost:8080/baseline11?a=1&b=2", "method": "GET" },
  "config": { "connections": 1024, "launched": 1024, "duration_s": 20.000, "closed": false, "target_rate": 500000, "timeout_ms": 2000, "deadline_ms": 0, "deadline_abort": false, "record_timeouts": true },
  "duration_s": 20.007,
  "requests": 7850972,
  "bytes": 918563724,
  "achieved_rate": 392420.29,
  "target_rate": 500000,
  "target_rate_end": 500000,
  "rate_ratio": 0.7848,
  "bytes_per_sec": 45913174.18,
  "error_rate": 0.000000,
  "max_schedule_lag_us": 6509151,
  "latency_us": {
    "min": 41, "mean": 2023198.3, "stdev": 1588511.7, "max": 6512639,
    "p50": 1740288, "p75": 3214336, "p90": 4376576, "p99": 5871616, "p99_9": 6117376, "p99_99": 6359040
  },
  "status_codes": { "1xx": 0, "2xx": 7850972, "3xx": 0, "4xx": 0, "5xx": 0 },
  "errors": { "connect": 0, "read": 0, "write": 0, "timeout": 0, "deadline": 0, "non_2xx_3xx": 0 },
  "latency_histogram": "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"
}
[info] CPU 788.2% | Mem 1.1GiB
[info] run 3 wins on score

=== Best: 392420 req/s (CPU: 788.2%, Mem: 1.1GiB) ===
[info] exact CPU: 159.51 core-seconds | 20.317 us/req
=== Fixed-rate: cpu/req 20.32us | p99 5871616.0us | p99.9 6117376.0us | rate_ratio 0.7848 ===
[warn] offered rate fell short: rate_ratio=0.7848 (target 500000/s)
[warn]   the CPU number is not comparable with runs that held the rate
[info] saved results/latency-500k-8cpu/1024/morojs.json
httparena-bench-morojs
httparena-bench-morojs

==============================================
=== morojs / async / 32000c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     32000 (500/thread)
  Pipeline:  1
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  10s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   17.58ms   13.70ms   26.80ms   35.30ms   61.30ms

  16762794 requests in 10.00s, 16730794 responses
  Throughput: 1.67M req/s
  Bandwidth:  188.24MB/s
  Status codes: 2xx=16730794, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 16730794 / 16730794 responses (100.0%)
[info] CPU 5491.2% | Mem 10.2GiB

[run 2/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     32000 (500/thread)
  Pipeline:  1
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  10s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   16.28ms   15.70ms   19.30ms   26.60ms   35.50ms

  19559462 requests in 10.00s, 19527462 responses
  Throughput: 1.95M req/s
  Bandwidth:  219.70MB/s
  Status codes: 2xx=19527462, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 19527462 / 19527462 responses (100.0%)
[info] CPU 6205.5% | Mem 9.9GiB

[run 3/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     32000 (500/thread)
  Pipeline:  1
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  10s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   16.32ms   15.70ms   19.40ms   26.70ms   35.00ms

  19513705 requests in 10.00s, 19481705 responses
  Throughput: 1.95M req/s
  Bandwidth:  219.19MB/s
  Status codes: 2xx=19481705, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 19481705 / 19481705 responses (100.0%)
[info] CPU 6162.4% | Mem 9.6GiB

=== Best: 1952746 req/s (CPU: 6205.5%, Mem: 9.9GiB) ===
[info] input BW: 89.39MB/s (avg template: 48 bytes)
[info] saved results/async/32000/morojs.json
httparena-bench-morojs
httparena-bench-morojs
[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/morojs.json - 37 new, 37 total
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
httparena-postgres
[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