Skip to content
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

Add generalized benchmark IO, refactor console reporting, harmonize pybm env interface #41

Merged
merged 6 commits into from
Feb 4, 2022

Conversation

nicholasjng
Copy link
Owner

@nicholasjng nicholasjng commented Feb 4, 2022

Fixes #37. Fixes #35.

This commit adds two major features:
1) `pybm env switch` is now exposed as a command line option to switch checkouts of environments.
2) The benchmark results are now handled by the reporter, who gets a new IO class member responsible for reading and writing benchmark results.

On top of this, the `pybm env install/uninstall` commands are now also piped through to the environment store, so that `pybm env` is now a legitimate thin shim around the EnvironmentStore class.
…vBuilder

Changelist:
* requirements_file is now a supported argument on the VenvBuilder
* The `get_filenames`, `lsdir` APIs were introduced, acting as directory discovery methods.
* A bug in the `partition_n` utility was fixed which would result in list duplication.
This commit adds a generalized IO component for pybm, which allows to save benchmark results obtained from subprocesses in different ways. As a first IO class, the JSONFileIO was added, which reads and
writes JSON files locally to/from disk.

The ConsoleReporter was greatly simplified as a result. The main benchmark result processing logic is now much shorter and more concise. Formatting, reducing and comparing was moved to external APIs
specific to the ConsoleReporter.
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.

Add generalized IO component Display branch HEAD commit in console output
1 participant