performance 0.5.5 and perf 1.3 released
Hi,
I just released performance 0.5.5 and perf 1.3. The main change is the removal of microbenchmarks from performance, you can now find them in a different project: https://github.com/haypo/pymicrobench
The perf warmup calibration is still highly unstable, and so PyPy still don't use performance yet. I began to analyze warmups manually but I was too lazy to finish the work: http://haypo-notes.readthedocs.io/pypy_warmups.html
=== performance 0.5.5 ===
On the 2.x branch on CPython,
compilenow pass--enable-unicode=ucs4to theconfigurescript on all platforms, except on Windows which uses UTF-16 because of its 16-bit wchar_t.The
floatbenchmark now uses__slots__on thePointclass.Remove the following microbenchmarks. They have been moved to the
pymicrobench <https://github.com/haypo/pymicrobench>_ project because they are too short, not representative of real applications and are too unstable.pybenchmicrobenchmark suitecall_simplecall_methodcall_method_unknowncall_method_slotslogging_silent: values are faster than 1 ns on PyPy with 2^27 loops! (and around 0.7 us on CPython)
Update requirements
- Django: 1.11 => 1.11.1
- SQLAlchemy: 1.1.9 => 1.1.10
- certifi: 2017.1.23 => 2017.4.17
- perf: 1.2 => 1.3
- mercurial: 4.1.2 => 4.2
- tornado: 4.4.3 => 4.5.1
=== perf 1.3 ===
Add
get_loops()andget_inner_loops()methods to Run and Benchmark classesDocumentation: add export_csv.py and plot.py examples
Rewrite warmup calibration for PyPy:
- Use Q1, Q3 and stdev, rather than mean and checking if the first value is an outlier
- Always use a sample of 10 values, rather than using a sample of a variable size starting with 3 values
Use lazy import for most imports of the largest modules to reduce the number of imported module on 'import perf'.
Fix handling of broken pipe error to prevent logging the error: "Exception ignored in: ... BrokenPipeError: ..."
collect_metadatagets more metadata on FreeBSD:- use
os.getloadavg()if/proc/loadavgis not available (ex: FreeBSD) - use
psutil.boot_time()if/proc/statis not available (ex: FreeBSD) to getboot_timeanduptimemetadata
- use
The Runner constructor now raises an exception if more than one instance is created.
Victor
participants (1)
-
Victor Stinner