FASTCALL microbenchmarks

 — 

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 …

Category: python Tags:

The start of the FASTCALL project

 — 

False start

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 …

Category: python Tags:

My contributions to CPython during 2016 Q4

 — 

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. Next report: My contributions to CPython during 2017 Q1.

Table of …

Category: python Tags:

My contributions to CPython during 2016 Q3

 — 

My contributions to CPython during 2016 Q3

Category: python Tags:

CPython sprint, september 2016

 — 

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?

CPython developers at the Facebook sprint

IMHO it was the most productive CPython week ever :-) Having …

Category: python Tags:

PEP 524: os.urandom() now blocks on Linux in Python 3.6

 — 

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 …

Category: python Tags:

My contributions to CPython during 2016 Q2

 — 

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. Next report: My contributions to CPython during 2016 Q3.

Start of …

Category: python Tags:

My contributions to CPython during 2016 Q1

 — 

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. Next report: My contributions to CPython during 2016 Q2.

Summary

Since …

Category: python Tags:

Analysis of a Python performance issue

 — 

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:

call_method microbenchmark

The graphic shows the performance of the call_method microbenchmark between Feb 29, 2016 …

Category: benchmark Tags:

Intel CPUs (part 2): Turbo Boost, temperature, frequency and Pstate C0 bug

 — 

Intel CPUs (part 2): Turbo Boost, temperature, frequency and Pstate C0 bug

Category: benchmark Tags:

© Victor Stinner 2016

Powered by Pelican