-
Notifications
You must be signed in to change notification settings - Fork 30
Make benchmarks/optcarrot/benchmark.rb compatible with the Ractor harness #422
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Conversation
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
Member
eregon
commented
Oct 19, 2025
- Without needing a copy of the benchmark files.
Co-Authored-By: Luke Gruber <[email protected]> Co-Authored-By: Étienne Barrié <[email protected]>
Committed seperately so the noisy diff can be easily excluded from reviews if needed.
These can be run as follows: ruby -Iharness-ractor/harness.rb benchmarks-ractor/json_parse_float/benchmark.rb Co-Authored-By: Luke Gruber <[email protected]>
Co-Authored-By: Luke Gruber <[email protected]>
If your ruby's bundler is different from the saved result in `Gemfile.lock`, bundler autoswitches by starting a new process. When it does this it sometimes doesn't pick up the old LOAD_PATH and results in a LoadError. Switch to use `Bundler.setup`, which is a simpler process and uses the current bundler.
2 implementations, one using Process.fork, and one using Ractors - for comparison
This is a copy of the Optcarrot benchmark from benchmarks/optcarrot, but modified to be compatible with multiple Ractors
Instead -Iharness-name can be used
This commit introduces a harness that can be used to chain two (or more) harnesses together. For example. To run a Ractor test with Vernier you can wrap the ractor harness with the vernier one as follows HARNESS_CHAIN="vernier,ractor" ruby -Iharness-chain benchmarks-ractor/optcarrot/benchmark.rb
This commit modifies the benchmark runner to add 2 new categories: --category=ractor-only Runs only those benchmarks in benchmarks-ractor using the Ractor harness. --category=ractor In addition to the ractor-only benchmarks, this will run benchmarks specified in benchmarks.yml with `ractor: true` using the Ractor harness. In addition to this we've modified the burn in and run once scripts to use the new harnesses and categories too Co-Authored-By: Luke Gruber <[email protected]>
Also make sure that the benchmarks list test is up to date
…ness * Without needing a copy of the benchmark files.
a278094 to
e191c14
Compare
|
Integrated in #375 (comment) |
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.