Releases: nicholasjng/pybm
Releases · nicholasjng/pybm
v0.1.0
This release gets pybm out of the experimental phase!
New features:
pybm reportwas deleted in favor ofpybm compare; all previously available functionality from that command is now contained in additional switches forpybm compare. #32- A legacy
git checkout-based way for sourcing benchmarks from other refs was implemented, which pushes the minimum required git version down to 2.17.0 again. #33 - A global configuration file was added, which can be used to set different values for
pybmconfig initialization without typing them out forpybm init. #34 pybm's result saving was changed to a general IO interface, which is a general class interface implementingreadandwriteAPIs. #41pybm env switchwas implemented to change a worktree's checkout from the command line. #41
Fixed problems and bugs:
- Fixed a bug which resulted in installed / uninstalled packages not being reflected in changing TOML env state when using
pybm env install/uninstall. #39 - Fixed a bug which parsed out the version incorrectly from
git --versionoutput on Windows. This change enabledpybmcheckout-based benchmark runs on Windows. #39 - Changed the timeit runner's logic to avoid the repeated
Timer.autorangeoverhead, resulting in substantial performance gains. #39 - Added a small quickstart section to
pybmfor better getting up and running. #40
v0.0.3
This release of pybm contains a number of new features and bugfixes.
New features:
- The Google Benchmark runner is now fully supported and entered the CI pipeline. #30
- TOML is now used as the configuration markup language of choice; old YAML configuration files will not work anymore. You can however create a new configuration file in-place by using
pybm init. #27 - Overriding values is now supported in
pybm initwith the-oswitch. #20 - Config values are now all-lower-case instead of camel case. #24
- Documentation was added for the most important CLI commands and class components. #28
Bug fixes:
v0.0.2
This release of pybm contains some bugfixes and some new features.
New features:
- Implemented running benchmarks as modules via
pybm run -m, for benchmarking code outside of an installed package. #4 - Implemented reductions of benchmark repetitions into descriptive statistics. #5
- Implemented checkout mode (
pybm run --checkout), foregoing git worktree creation when there are no custom requirements necessitating siloed environments. #11 - Added
git worktree moveandgit worktree repairto the list of emulatedgit worktreecommands, allowing to rename a worktree after switching checkouts. #14, #15 - Added an end-to-end test GitHub Action for the
pybmintroductory example. #15 - Formatted the whole repository with
psf/black, as well as adding a pre-commit hook for it. #15 - Added dynamic option sourcing and grouping for builder, runner and reporter interfaces. #16
Bugs:
- Fixed multiple setup bugs preventing installation on Python 3.7 (thanks to @YPFoerster for the report).
- Fixed a bug preventing package uninstalls by adding the
-yflag intopip uninstalloptions forPythonVenvBuilder. - Refactored and fixed previously wrong logic for mapping commits to git tags.
v0.0.1
The first release of the pybm project. Contains all necessary functionality to manage, run and report Python benchmarks via the pybm CLI.
It comes with a complete example walkthrough, too! The examples are located in the top-level folder of the same name.