[Speed] Timeline of CPython performance April, 2014 - April, 2017

Victor Stinner victor.stinner at gmail.com
Tue Apr 4 12:49:16 EDT 2017


(Crap, how did I sent an incomplete email? Sorry about that.)

Hi,

I hacked my "performance compile" command to force pip 7.1.2 on alpha
versions of Python 3.5, which worked around the pyparsing regression
(used since pip 8):
https://sourceforge.net/p/pyparsing/bugs/100/

I succeeded to run benchmarks on CPython on the period April, 2014 -
April, 2017, with one dot per quarter (so 4 dots per year).

I started to analyze performance in depth and added notes in the
performance documentation:
http://pyperformance.readthedocs.io/cpython_results_2017.html
(performance has now an online doc!)

I wrote a tool to bisect a performance change, it tries to find the
commit which made the significant performance change (slowdown or
speedup):
https://github.com/haypo/misc/blob/master/misc/find_git_revisions_by_date.py

I now started to compute one dot per month to have a better
resolution, since my tool failed to bisect the April,2016-July,2016
period. With a resolution of 1 month, I identified the "PyMem_Malloc()
now uses the fast pymalloc allocator" change which has a signficant
impact on unpickle_list.

Victor


More information about the Speed mailing list