Skip to content

RUBY-3316 Quality of life updates for BSON benchmarks #2774

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

Merged
merged 9 commits into from
Aug 28, 2023

Conversation

jamis
Copy link
Contributor

@jamis jamis commented Aug 22, 2023

The changes here are not mandated by the spec, but make the benchmarks easier to run and monitor. The two most significant changes here are:

  1. Progress reporting. The benchmarks will (by default) write to the terminal as the benchmarks progress, allowing you to see that yes, something is indeed happening. You can disable the output by setting the PROGRESS environment variable to 0.
  2. Bulk execution. You can run multiple benchmarks in a single invocation, now. For example, rake benchmark:bson will run all BSON benchmarks, and rake benchmark:bson:flat will run all flat BSON benchmarks.

This PR also refactors the Rake benchmark tasks to split them out into separate files.

@jamis jamis requested a review from comandeo August 25, 2023 18:45
Copy link
Contributor

@alexbevi alexbevi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really like the refactor! LGTM

@jamis jamis merged commit 12f789e into mongodb:master Aug 28, 2023
@jamis jamis deleted the 3316-benchmarks-quality-of-life branch August 28, 2023 20:03
comandeo pushed a commit to comandeo/mongo-ruby-driver that referenced this pull request Jan 24, 2024
* RUBY-3314 Implement variable iterations for benchmarks

* report percentiles along with the median

* rename Benchmarking::Micro to Benchmarking::BSON

* refactoring to appease rubocop

* RUBY-3315 benchmark scoring

* clean up the Rakefile

* progress indicator while benchmarks are running

* rubocop
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