Other articles

  1. A New C API for CPython

    I am currently at a CPython sprint 2017 at Facebook. We are discussing my idea of writing a new C API for CPython hiding implementation details and replacing macros with function calls.

    CPython sprint at Facebook, september 2017

    This article tries to explain why the CPython C API needs to evolve.

    C API prevents further optimizations …

    read more
  2. Work on Python buildbots, 2017 Q2

    I spent the last 6 months on working on buildbots: reduce the failure rate, send email notitication on failure, fix random bugs, detect more bugs using warnings, backport fixes to older branches, etc. I decided to fix all buildbots issues: fix all warnings and all unstable tests!

    The good news …

    read more
  3. New Python test.bisect tool

    This article tells the story of the new CPython test.bisect tool to identify failing tests in the CPython test suite.

    Modify manually a test file

    I am fixing reference leaks since many years. When the test file contains more than 200 tests and is longer than 5,000 lines …

    read more
  4. My contributions to CPython during 2017 Q1

    My contributions to CPython during 2017 Q1 (january, februrary, march):

    • Statistics
    • Optimization
    • Tricky bug
    • FASTCALL optimizations
    • Stack consumption
    • Contributions
    • os.urandom() and getrandom()
    • Migration to GitHub
    • Enhancements
    • Security
    • regrtest
    • Bugfixes

    Previous report: My contributions to CPython during 2016 Q4.


    # All commits
    $ git log --after=2016-12-31 --before=2017-04-01 --reverse --branches …
    read more
  5. FASTCALL issues

    Here is the raw list of the 46 CPython issues I opended between 2016-04-21 and 2017-02-10 to implement my FASTCALL optimization. Most issues created in 2016 are already part of Python 3.6.0, some are already merged into the future Python 3.7, the few remaining issues are still …

    read more
  6. 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 …

    read more

Page 1 / 3 »