fulmine, fulmine-tuned: publish under the package name, fulmine.js - #1426
Merged
Conversation
nigrosimone
marked this pull request as ready for review
September 2, 2026 04:45
nigrosimone
requested review from
Kaliumhexacyanoferrat and
MDA2AV
as code owners
September 2, 2026 04:45
Contributor
Author
|
/benchmark-multiple -f fulmine,fulmine-tuned --save |
Contributor
|
👋 Benchmark request received. A collaborator will review and approve the run. |
Contributor
|
|
Contributor
Author
|
/benchmark-multiple -f fulmine,fulmine-tuned --save |
Contributor
|
👋 Benchmark request received. A collaborator will review and approve the run. |
Contributor
Benchmark ResultsFrameworks: 2 | Test: ✅
|
| Test | Conn | RPS | Rate | CPU/req | p99 | p99.9 | CPU | Mem | Δ RPS | Δ Mem |
|---|---|---|---|---|---|---|---|---|---|---|
| baseline | 4096 | 1,646,820 | — | — | — | — | 6791.8% | 2.6GiB | +11.9% | -3.7% |
| pipelined | 4096 | 32,530,268 | — | — | — | — | 6420.8% | 2.1GiB | +2.1% | ~0% |
| limited-conn | 4096 | 1,485,268 | — | — | — | — | 6611.2% | 2.7GiB | +12.6% | ~0% |
| json-comp | 4096 | 478,013 | — | — | — | — | 6373.7% | 7.6GiB | +0.7% | +1.3% |
| json-comp | 16384 | 494,728 | — | — | — | — | 6222.3% | 8.5GiB | +0.8% | ~0% |
| json-tls | 4096 | 1,022,233 | — | — | — | — | 6410.9% | 7.1GiB | +0.2% | -13.4% |
| 8gbit | 512 | 49,377 | 0.9875 | 68.39us | 159.0us | 4270.0us | 330.3% | 2.7GiB | +0.1% | ~0% |
| static-tls | 1024 | 594,289 | — | — | — | — | 6594.5% | 3.2GiB | -2.0% | -3.0% |
| async-db | 1024 | 233,634 | — | — | — | — | 5770.7% | 4.3GiB | +1.9% | +16.2% |
| fortunes | 1024 | 68,675 | — | — | — | — | 6497.8% | 4.2GiB | +0.7% | ~0% |
| gateway-64 | 512 | 279,500 | — | — | — | — | 5185.7% | 4.8GiB | +18.6% | -4.0% |
| gateway-64 | 1024 | 264,856 | — | — | — | — | 5391.7% | 5.5GiB | +13.4% | -3.5% |
| gateway-h3 | 64 | 90,254 | — | — | — | — | 3337.2% | 3.5GiB | -1.0% | ~0% |
| gateway-h3 | 256 | 61,282 | — | — | — | — | 2408.6% | 4.6GiB | +0.1% | +2.2% |
| production-stack | 256 | 116,894 | — | — | — | — | 2769.4% | 3.6GiB | -12.3% | +2.9% |
| production-stack | 1024 | 105,309 | — | — | — | — | 2641.7% | 4.3GiB | -4.0% | ~0% |
| echo-ws | 512 | 3,689,829 | — | — | — | — | 6512.5% | 2.3GiB | -0.9% | ~0% |
| echo-ws | 4096 | 3,777,226 | — | — | — | — | 6276.7% | 2.4GiB | -0.6% | ~0% |
| echo-ws | 16384 | 3,523,105 | — | — | — | — | 6131.7% | 2.5GiB | -0.6% | ~0% |
| echo-ws-pipeline | 512 | 24,189,686 | — | — | — | — | 6726.6% | 2.3GiB | -0.4% | ~0% |
| echo-ws-pipeline | 4096 | 24,296,604 | — | — | — | — | 6538.9% | 2.4GiB | +0.3% | ~0% |
| echo-ws-pipeline | 16384 | 23,202,560 | — | — | — | — | 6313.0% | 2.6GiB | +0.2% | ~0% |
| echo-ws-limited | 512 | 2,076,963 | — | — | — | — | 5635.9% | 2.3GiB | -0.2% | ~0% |
| echo-ws-limited | 4096 | 2,551,279 | — | — | — | — | 6264.8% | 2.4GiB | -0.4% | ~0% |
| latency-1m | 1024 | 997,869 | 0.9979 | 33.66us | 263.0us | 1646.0us | 3911.7% | 2.5GiB | ~0% | ~0% |
| latency-10k | 1024 | 9,982 | 0.9982 | 39.08us | 121.0us | 373.0us | 37.2% | 2.1GiB | ~0% | ~0% |
| async | 32000 | 2,076,210 | — | — | — | — | 6403.9% | 5.7GiB | -0.6% | ~0% |
✅ fulmine-tuned
| Test | Conn | RPS | Rate | CPU/req | p99 | p99.9 | CPU | Mem | Δ RPS | Δ Mem |
|---|---|---|---|---|---|---|---|---|---|---|
| baseline | 4096 | 1,595,557 | — | — | — | — | 6551.1% | 2.6GiB | +10.0% | -3.7% |
| pipelined | 4096 | 32,750,279 | — | — | — | — | 6349.1% | 2.1GiB | -0.7% | ~0% |
| limited-conn | 4096 | 1,450,810 | — | — | — | — | 6354.8% | 2.6GiB | +9.0% | -7.1% |
| json-comp | 4096 | 474,140 | — | — | — | — | 6357.3% | 7.6GiB | -0.6% | +1.3% |
| json-comp | 16384 | 491,530 | — | — | — | — | 6245.6% | 8.5GiB | -0.2% | +1.2% |
| json-tls | 4096 | 1,030,277 | — | — | — | — | 6575.2% | 8.2GiB | -1.6% | +18.8% |
| 8gbit | 512 | 49,364 | 0.9873 | 69.09us | 162.0us | 5786.0us | 318.9% | 2.7GiB | ~0% | ~0% |
| static-tls | 1024 | 595,686 | — | — | — | — | 6585.4% | 3.3GiB | -2.2% | +3.1% |
| async-db | 1024 | 239,935 | — | — | — | — | 5813.2% | 6.2GiB | -4.6% | ~0% |
| fortunes | 1024 | 70,705 | — | — | — | — | 6506.8% | 6.1GiB | -0.2% | ~0% |
| gateway-64 | 512 | 314,541 | — | — | — | — | 5473.9% | 5.1GiB | -0.7% | -3.8% |
| gateway-64 | 1024 | 311,169 | — | — | — | — | 6032.4% | 6.5GiB | +0.7% | ~0% |
| gateway-h3 | 64 | 90,285 | — | — | — | — | 3252.8% | 3.4GiB | -0.2% | -5.6% |
| gateway-h3 | 256 | 62,553 | — | — | — | — | 2434.9% | 4.7GiB | +1.7% | +23.7% |
| production-stack | 256 | 120,770 | — | — | — | — | 2878.3% | 3.7GiB | -16.0% | ~0% |
| production-stack | 1024 | 105,395 | — | — | — | — | 2639.5% | 4.4GiB | -3.3% | ~0% |
| echo-ws | 512 | 3,701,735 | — | — | — | — | 6393.0% | 2.3GiB | +0.5% | ~0% |
| echo-ws | 4096 | 3,772,036 | — | — | — | — | 6279.7% | 2.4GiB | -0.6% | +4.3% |
| echo-ws | 16384 | 3,538,165 | — | — | — | — | 6173.2% | 2.5GiB | -0.2% | ~0% |
| echo-ws-pipeline | 512 | 23,989,939 | — | — | — | — | 6721.9% | 2.3GiB | -1.0% | ~0% |
| echo-ws-pipeline | 4096 | 24,204,617 | — | — | — | — | 6533.3% | 2.4GiB | -0.3% | ~0% |
| echo-ws-pipeline | 16384 | 22,945,078 | — | — | — | — | 6261.9% | 2.6GiB | -0.6% | +4.0% |
| echo-ws-limited | 512 | 2,084,011 | — | — | — | — | 5672.1% | 2.4GiB | -0.3% | +4.3% |
| echo-ws-limited | 4096 | 2,553,620 | — | — | — | — | 6262.5% | 2.4GiB | -0.4% | ~0% |
| latency-1m | 1024 | 998,214 | 0.9982 | 33.36us | 263.0us | 792.0us | 3670.3% | 2.5GiB | ~0% | ~0% |
| latency-10k | 1024 | 9,982 | 0.9982 | 39.76us | 122.0us | 210.0us | 37.7% | 2.1GiB | ~0% | ~0% |
| async | 32000 | 2,110,747 | — | — | — | — | 6367.9% | 5.7GiB | -0.7% | ~0% |
Contributor
Author
|
Okay, the results are good for me. |
MDA2AV
approved these changes
Sep 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The package is published as
fulmine.json npm and the repository isfulmine.js, but the two entries are on the board asfulmineandfulmine-tuned, so the board, the badge and the per-framework page use a name nobody searches for. This changes thedisplay_namein the twometa.jsonand nothing else about the entries: same directories, same Dockerfiles, same/benchmark -f fulmine.The rename moves the slug, so
site/data/results/fulmine.jsonbecomesfulmine.js.jsonand theframeworkfield of every row goes with it. That keeps the published history attached to the entry instead of leaving it to be purged as a stale name.scripts/gen_leaderboard_data.pyruns clean after it (no unknown-name warning, the two framework pages are written) andscripts/check_badge_parity.jspasses, withsite/leaderboard/data.jsregenerated here.On both entries the two POST routes now read the body with the framework's parsers,
express.text({ type: () => true })on/baseline11andexpress.raw({ type: () => true })on/echo, instead of collecting chunks on'data'. The parser takes the whole body off uWS in one piece, chunked or not, and on a laptop it costs 5 to 7 us less per POST. Thetypefunction is there because the load generator sends no Content-Type. Checked with the validator's shapes: fragmented, lower-cased names, chunked, echo 1 B to 100 KB, chunked echo, empty body, on 8080 and 8081.The saved run measured the parser change: baseline +11.9%, short-lived +12.6%, 8gbit 72.0 -> 68.4 us/req and p99.9 6.8 -> 4.3 ms, the other rows flat. The results commit also brought back
fulmine.jsonandfulmine-tuned.jsonwith the old rows, because the compare step copies main'ssite/dataover the branch and never removes the files the branch renamed; they are dropped again in the last commit anddata.jsis regenerated.