For my FASTCALL project (CPython optimization avoiding temporary tuples and dictionaries to pass arguments), I wrote many short microbenchmarks. I grouped them into a new Git repository: pymicrobench. Benchmark results are required by CPython developers to prove that an optimization is worth it. It's not uncommon that I abandon a …read more
In April 2016, I experimented a Python change to avoid temporary tuple to call functions. Builtin functions were between 20 and 50% faster!
Sadly, some benchmarks were randomy slower. It will take me four months to understand why!
Work on benchmarks
During four months, I worked on making …
My contributions to CPython during 2016 Q4 (october, november, december):
hg log -r 'date("2016-10-01"):date("2016-12-31")' --no-merges -u Stinner
Statistics: 105 non-merge commits + 31 merge commits (total: 136 commits).
Previous report: My contributions to CPython during 2016 Q3.
Table of Contents:
- Python startup performance regression
- Code placement and …
My contributions to CPython during 2016 Q3read more
I was invited at my first CPython sprint in September! Five days, September 5-9, at Instagram office in California, USA. The sprint was sponsored by Instagram, Microsoft, and the PSF.
First little game: Many happy faces, but Where is Victor?
IMHO it was the most productive CPython week ever :-) Having …read more
getrandom() avoids file descriptors
Last years, I'm making sometimes enhancements in the Python code used to generate random numbers, the C implementation of os.urandom(). My main two changes were to use the new getentropy() and getrandom() functions when available on Linux, Solaris, OpenBSD, etc.
In 2013, os.urandom() opened …
My contributions to CPython during 2016 Q2 (april, may, june):
hg log -r 'date("2016-04-01"):date("2016-06-30")' --no-merges -u Stinner
Statistics: 52 non-merge commits + 22 merge commits (total: 74 commits).
Previous report: My contributions to CPython during 2016 Q1.
Start of my work on optimization
During 2016 Q2, I started …
My contributions to CPython during 2016 Q1 (january, februrary, march):
hg log -r 'date("2016-01-01"):date("2016-03-31")' --no-merges -u Stinner
Statistics: 196 non-merge commits + 33 merge commits (total: 229 commits).
Previous report: My contributions to CPython during 2015 Q4.
Since this report is much longer than I expected, here …
I am working on the CPython benchmark suite (performance) and I run the benchmark suite to upload results to speed.python.org. While analying results, I noticed a temporary peak on the call_method benchmark at October 19th:
The graphic shows the performance of the call_method microbenchmark between Feb 29, 2016 …read more
Intel CPUs (part 2): Turbo Boost, temperature, frequency and Pstate C0 bugread more
« Page 2 / 4 »