[Speed] perf 0.7.11 released
Victor Stinner
victor.stinner at gmail.com
Mon Sep 19 05:51:06 EDT 2016
Hi,
I released perf 0.7.11. News since perf 0.7.3:
* Support PyPy
* Add units to samples: second, byte, integer. Benchmarks on the
memory usage (track memory) are now displayed correctly.
* Remove environment variables: add --inherit-environ cmdline option.
* Add more metadata: mem_max_rss, python_hash_seed (PYTHONHASHSEED env
var). Enhance cpu_conifig: add nohz_full & isolated. Enhance
python_version: add Mercurial revision.
* Better and more reliable code to calibrate benchmarks, calibration
samples are now stored (in warmup samples).
* Bugfixes as usual.
perf changelog:
Version 0.7.11 (2016-09-19)
---------------------------
* Fix metadata when NOHZ is not used: when /sys/devices/system/cpu/nohz_full
contains ' (null)\n'
Version 0.7.10 (2016-09-17)
---------------------------
* Fix metadata when there is no isolated CPU
* Fix collecting metadata when /sys/devices/system/cpu/nohz_full doesn't exist
Version 0.7.9 (2016-09-17)
--------------------------
* Add :meth:`Benchmark.get_unit` method
* Add :meth:`BenchmarkSuite.get_metadata` method
* metadata: add ``nohz_full`` and ``isolated`` to ``cpu_config``
* add ``--affinity`` option to the ``metadata`` command
* ``convert``: fix ``--remove-all-metadata``, keep the unit
* metadata: fix regex to get the Mercurial revision for ``python_version``,
support also locally modified source code (revision ending with "+")
Version 0.7.8 (2016-09-10)
--------------------------
* Worker child processes are now run in a fresh environment: environment
variables are removed, to enhance reproductability.
* Add ``--inherit-environ`` command line argument.
* metadata: add ``python_cflags``, fix ``python_version`` for PyPy and
add also the Mercurial version into ``python_version`` (if available)
Version 0.7.7 (2016-09-07)
--------------------------
* Reintroduce TextRunner._spawn_worker_suite() as a temporary workaround
to fix the pybench benchmark of the performance module.
Version 0.7.6 (2016-09-02)
--------------------------
Tracking memory usage now works correctly on Linux and Windows. The calibration
is now done in a the first worker process.
* ``--tracemalloc`` and ``--track-memory`` now use the memory peak as the
unique sample for the run.
* Rewrite code to track memory usage on Windows. Add
``mem_peak_pagefile_usage`` metadata. The ``win32api`` module is no more
needed, the code now uses the ``ctypes`` module.
* ``convert``: add ``--remove-all-metadata`` and ``--update-metadata`` commands
* Add ``unit`` metadata: ``byte``, ``integer`` or ``second``.
* Run samples can now be integer (not only float).
* Don't round samples to 1 nanosecond anymore: with a large number of loops
(ex: 2^24), rounding reduces the accuracy.
* The benchmark calibration is now done by the first worker process
Version 0.7.5 (2016-09-01)
--------------------------
* Add ``Benchmark.update_metadata()`` method
* Warmup samples can now be zero. TextRunner now raises an error if a sample
function returns zero for a sample, except of calibration and warmup samples.
Version 0.7.4 (2016-08-18)
--------------------------
* Support PyPy
* metadata: add ``mem_max_rss`` and ``python_hash_seed``
* Add :func:`perf.python_implementation` and :func:`perf.python_has_jit`
functions
* In workers, calibration samples are now stored as warmup samples.
* With a JIT (PyPy), the calibration is now done in each worker. The warmup
step can compute more warmup samples if a raw sample is shorter than the
minimum time.
* Warmups of Run objects are now lists of (loops, raw_sample) rather than lists
of samples. This change requires a change in the JSON format.
Victor
More information about the Speed
mailing list