Skip to content

[tests] Third-party performance test suite that runs Octane, JetStream, and Web Tooling Benchmark#358

Merged
Hans-Halverson merged 1 commit into
masterfrom
3p-perf-test-harness
Jun 19, 2026
Merged

[tests] Third-party performance test suite that runs Octane, JetStream, and Web Tooling Benchmark#358
Hans-Halverson merged 1 commit into
masterfrom
3p-perf-test-harness

Conversation

@Hans-Halverson

@Hans-Halverson Hans-Halverson commented Jun 18, 2026

Copy link
Copy Markdown
Owner

Summary

Create a test harness for running brimstone with standard third-party JS performance test suites. Adds support for Octane, JetStream, and Web Tooling Benchmark.

Can run a full suite with cargo run -p brimstone_perf -- --suite octane or a particular benchmark with cargo run -p brimstone_perf -- --suite octane --bench richards. More details in the introduced README.

Third-party tests suites are vendored under tests/perf/vendor and are installed with tests/perf/install.sh. Note that for web tooling benchmark we generate a bundle for each individual benchmark so they can be run individually.

Notes:

  • Can generate a flamegraph for a run with --flamegraph and passes flamegraph args with --flamegraph-arg=<arg>
  • Outputs human readable table by default, but also can output JSON for machine consumption
  • Runs brimstone in a separate process with the --expose-test-shell-compat argument
  • Builds brimstone in release mode by default but can provide a specific binary with the --bin-path=<binary> argument

Example output (from a local run of Octane):

=== octane ===
wall clock: 267389 ms

Benchmark                 Score  Status    Note
-----------------------------------------------
Richards                    350  ok        
DeltaBlue                   525  ok        
Crypto                      584  ok        
RayTrace                   1169  ok        
EarleyBoyer                1956  ok        
RegExp                      382  ok        
Splay                      2499  ok        
SplayLatency               4424  ok        
NavierStokes                717  ok        
PdfJS                      2789  ok        
Mandreel                    303  ok        
MandreelLatency            1941  ok        
Gameboy                    2703  ok        
CodeLoad                  43140  ok        
Box2D                      1524  ok        
zlib                        900  ok        
Typescript                 7166  ok        
-----------------------------------------------
Total                      1531  (octane)

Tests

Verified that all of the following complete successfully:

  • cargo run -p brimstone_perf -- --suite octane, all benchmarks run successfully
  • cargo run -p brimstone_perf -- --suite jetstream, some benchmarks fail due to missing APIs, WASM, etc but most run
  • cargo run -p brimstone_perf -- --suite web-tooling, all benchmarks run successfully

Added to CI job to verify that the performance test suite builds (though does not run it).

@Hans-Halverson Hans-Halverson force-pushed the 3p-perf-test-harness branch 2 times, most recently from 9efe825 to 649fbef Compare June 19, 2026 00:12
@Hans-Halverson Hans-Halverson merged commit 8d3af54 into master Jun 19, 2026
9 checks passed
@Hans-Halverson Hans-Halverson deleted the 3p-perf-test-harness branch June 19, 2026 03:03
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