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 _______________________________________________ Speed mailing list Speed@python.org https://mail.python.org/mailman/listinfo/speed