extradoc / talk / sftour2013 / invitae / talk.rst

Writing fast Python programs

who we are

  • Maciej Fijałkowski
  • Armin Rigo

what we're going to talk about

  • the problem of fast python
  • cython, numpy, weave, etc
  • PyPy and our approach
  • promise to keep it short

python language

  • expressive
  • concise
  • performance characteristics not 100% clear

classic solutions

  • use numpy, but your algorithms have to be vectorized


  • use cython, but you have to write down your types


  • don't use python, just call C



pypy approach

  • make language fast enough for algorithms
  • make numpy compatible enough to reuse it
  • more algorithms less pipeline building


Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.