Python was never intended as a fast language but many modern uses of Python require high performance computing, particularly in data science. This talk explores your options for squeezing maximum performance out of critical Python code.
This talk provides a succinct summary of the options you have: C extensions, Cython, CFFI, PyPy and many others. It also shows the trade-offs between execution performance and the cost of writing and maintaining code with each choice. Each option is also explored for maturity and ease of use for Python programmers. A real world programming problem is coded and benchmarked using each of these techniques. All the code used in the talk is available on GitHub.
At the end of this talk you will be better place to decide on which technique to use to make your code run 100x faster.