19 Sep
2016
19 Sep
'16
2:51 a.m.
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
andisolated
tocpu_config
- add
--affinity
option to themetadata
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
, fixpython_version
for PyPy and add also the Mercurial version intopython_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. Thewin32api
module is no more needed, the code now uses thectypes
module. convert
: add--remove-all-metadata
and--update-metadata
commands- Add
unit
metadata:byte
,integer
orsecond
. - 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
andpython_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
2916
Age (days ago)
2916
Last active (days ago)
0 comments
1 participants
participants (1)
-
Victor Stinner