Skip to content

Releases: airspeed-velocity/asv

v0.6.3

25 Feb 18:39
v0.6.3
8877eff
Compare
Choose a tag to compare

Bugfix release.

What's Changed

Full Changelog: v0.6.2...v0.6.3

v0.6.2

12 Feb 12:17
v0.6.2
a779f0c
Compare
Choose a tag to compare

Changelog

0.6.2 (2024-02-12)

New Features

  • Partially skipped benchmarks will still have their results displayed.
    (#1351)
  • asv will now correctly prepare all the build backend dependencies
    into base_requirements and the default build_command has been
    modified to allow fetching from PyPI. (#1377)

Bug Fixes

  • The asv package no longer prepends the script execution directory
    unconditionally. Now we check for and remove the path only if it
    matches the directory that the runner script resides in. (#1346)
  • The bdist wheels no longer include benchmarks and test. (#1349)
  • The mamba plugin works correctly for newer versions (>=1.5) of
    libmambapy (#1372)
  • The mamba plugin respects the MAMBARC environment if set, taking
    channels and channel priority from the file in the environment
    variable. (#1373)
  • Fixed a bug where matrix requirements were dropped if an environment
    file was specified. (#1373)
  • conda-forge is no longer a default channel for mamba. (#1373)

Other Changes and Additions

  • asv now depends on virtualenv (#1379)

Github Generated Log

What's Changed

New Contributors

Full Changelog: v0.6.1...v0.6.2

v0.6.1

11 Sep 14:23
v0.6.1
b8cbf81
Compare
Choose a tag to compare

Changelog

0.6.1 (2023-09-11)

New Features

API Changes

Bug Fixes

  • Fixed handling of pip dependencies in environment.yml files for the mamba plugin (#1326)
  • Removed the need for explicit pip+ in asv.config.json matrix requirements for virtualenv
  • asv will now use conda_environment_file if it exists (#1325)

Other Changes and Additions

  • Made asv timestamps via datetime Python 3.12 compatible (#1331)
  • Provided asv[virtualenv] as an installable target
  • Switched to using Github Actions exclusively for Windows and Linux

0.6.0 (2023-08-20)

New Features

  • Internal use of asv_runner, allowing custom benchmark types (#1287)
  • Added benchmark skipping capabilities using new decorators skip_benchmark_if and skip_params_if (#1309)
  • Benchmarks can be skipped during execution by raising SkipNotImplemented (#1307)
  • Introduced default_benchmark_timeout in the configuration object and via -a timeout=NUMBER (#1308)
  • Settable ASV_RUNNER_PATH for testing newer versions of asv_runner (#1312)

API Changes

  • Removed asv dev in favor of using asv run with appropriate arguments (#1200)
  • Removed --strict option from asv run and asv continuous, which now always return non-zero exit status if any benchmark fails

Bug Fixes

  • Fixed install_timeout for conda (#1310)
  • Fixed handling of local pip matrix (#1312)
  • Fixed deadlock when using mamba with an environment file (#1300)
  • Corrected environment file usage with mamba and recognized default environment.yml (#1303)

Other Changes and Additions

  • Both mamba and conda now use environment.yml if it exists
  • virtualenv now requires packaging due to distutils deprecations
  • Wheels are now built for CPython versions 3.8, 3.9, 3.10, 3.11

Github Generated Log

What's Changed

Read more

v0.5.1

06 Feb 14:17
516e283
Compare
Choose a tag to compare
Prepare for 0.5.1 release (#1014)

v0.5

05 Feb 16:48
4af61fe
Compare
Choose a tag to compare
Prepare for 0.5 release (#1012)

v0.4.2

16 May 12:35
@pv pv
v0.4.2
Compare
Choose a tag to compare
  • Do not supply --no-site-packages to virtualenv, as it is on by default and no longer supported. (#917)

v0.4.1

30 May 14:40
@pv pv
v0.4.1
Compare
Choose a tag to compare
  • Change wheel installation default command to chdir away from build directory instead of --force-install. (#823)

v0.4

26 May 15:22
@pv pv
Compare
Choose a tag to compare

New features:

  • asv check command for a quick check of benchmark suite validity. (#782)
  • asv run HASHFILE:filename can read commit hashes to run from file or stdin (#768)
  • --set-commit-hash option to asv run, which allows recording results from runs in "existing" environments not managed by asv (#794)
  • --cpu-affinity option to asv run and others, to set CPU affinity (#769)
  • "Hide legend" option in web UI (#807)
  • pretty_source benchmark attribute for customizing source code shown (#810)
  • Record number of cores in machine information (#761)

API Changes:

  • Default timer changed from process_time() to timeit.default_timer() to fix resolution issues on Windows. Old behavior can be restored by setting Benchmark.timer = time.process_time (#780)

Bug Fixes:

v0.3.1

20 Oct 22:34
@pv pv
v0.3.1
Compare
Choose a tag to compare

Minor bugfixes and improvements.

  • Use measured uncertainties to weigh step detection. (#753)
  • Detect also single-commit regressions, if significant. (#745)
  • Use proper two-sample test when raw results available. (#754)
  • Use a better regression "badness" measure. (#744)
  • Display verbose command output immediately, not when command completes. (#747)
  • Fix handling of benchmark suite import failures in forkserver and benchmark discovery. (#743, #742)
  • Fix forkserver child process handling.
  • In asv test suite, use dummy conda packages. (#738)
  • Other minor fixes (#756, #750, #749, #746)

v0.3

09 Sep 14:58
@pv pv
v0.3
Compare
Choose a tag to compare

Major release with several new features.

New Features

  • Revised timing benchmarking. asv will display and record the median and interquartile ranges of timing measurement results. The information is also used by asv compare and asv continuous in determining what changes are significant. The asv run command has new options for collecting samples. Timing benchmarks have new benchmarking parameters for controlling how timing works, including processes attribute for collect data by running benchmarks in different sequential processes. The defaults are adjusted to obtain faster benchmarking. (#707, #698, #695, #689, #683, #665, #652, #575, #503, #493)
  • Interleaved benchmark running. Timing benchmarks can be run in interleaved order via asv run --interleave-processes, to obtain better sampling over long-time background performance variations. (#697, #694, #647)
  • Customization of build/install/uninstall commands. (#699)
  • Launching benchmarks via a fork server (on Unix-based systems). Reduces the import time overheads in launching new benchmarks. Default on Linux. (#666, #709, #730)
  • Benchmark versioning. Invalidate old benchmark results when benchmarks change, via a benchmark version attribute. User-configurable, by default based on source code. (#509)
  • Setting benchmark attributes on command line, via --attribute. (#647)
  • asv show command for displaying results on command line. (#711)
  • Support for Conda channels. (#539)
  • Provide ASV-specific environment variables to launched commands. (#624)
  • Show branch/tag names in addition to commit hashes. (#705)
  • Support for projects in repository subdirectories. (#611)
  • Way to run specific parametrized benchmarks. (#593)
  • Group benchmarks in the web benchmark grid (#557)
  • Make the web interface URL addresses more copypasteable. (#608, #605, #580)
  • Allow customizing benchmark display names (#484)
  • Don't reinstall project if it is already installed (#708)

API Changes

  • The goal_time attribute in timing benchmarks is removed (and now ignored). See documentation on how to tune timing benchmarks now.
  • asv publish may ask you to run asv update once after upgrading, to regenerate benchmarks.json if asv run was not yet run.
  • If you are using asv plugins, check their compatibility. The internal APIs in asv are not guaranteed to be backward compatible.

Bug Fixes

Other Changes and Additions

  • www: display regressions separately, one per commit (#720)
  • Internal changes. (#712, #700, #681, #663, #662, #637, #613, #606, #572)
  • CI/etc changes. (#585, #570)
  • Added internal debugging command asv.benchmarks (#685)
  • Make tests not require network connection, except with Conda (#696)
  • Drop support for end-of-lifed Python versions 2.6 & 3.2 & 3.3 (#548)