Speaker

Victor Stinner

Material

Note

Present

  • PyPy
    • fully compatible with CPython
    • issues
      • slower when involving C extension
      • larger memory footprint
      • longer startup time
  • multiprocessing
    • Work around the GIL limitation
    • Shared memory (Python 3.8) avoids memory copies between workers
  • Cython
    • Easy way to write C extension
    • Support multiple Python versions
  • Numba
    • JIT compiler tranlating subset of Python and NumPy
    • Simplified Threading (release GIL)
  • Summary
    • PyPy doesn't require any code change
    • multiprocessing scales
    • Use Cython, don't use C API
    • Numba makes numpy faster

Future

  • New PyHandle C API
    • CPython
      • on top of the current C API
    • PyPy
      • More efficient that the current C API
    • Cython
      • no need to change your code, Cython will handle it
  • Reference counting
  • Gilectomy
  • Tracing CG
  • Subinterpreters (WIP)
    • PEP 545
    • GIL -> on lock per interpreter
    • Expectation
      • lower memory footprint
      • faster locks
      • limitation: python object cannot be shared between interpreters

Share on: TwitterFacebookEmail


Published

Category

EuroPython 2019

Tags

Contact