Performant Python

Performant Python

Once you have working code that you have tested to demonstrate that it is working correctly. You might want to explore how efficient the code runs. This lesson will explore numpy, numba, scipy and Cython. Each of these explore different methods to (attempt to) improve the performance of Python to comparable levels with compiled languages such as C and Fortran.

Prerequisites:

To complete this lesson you should be familiar with:

  • Writing numerical Python codes

Schedule:

Time Episode Description
0:00 Review of Nummpy Review Numpy arrays
0:20 Copying and accessing arrays How to copy and access subsets of arrays
0:40 Manipulating Array Manipulating Arrays
1:00 File handling Reading and Writing Files with Numpy
1:15 Something Random Something random in Numpy
1:30 Vectorisation Vector operations (for free) in Numpy)
1:45 Performance Performance with Python
2:00 Numba Numba jit library
2:30 Scipy Scipy
3:00 Cython Cython

Be sure to edit the links above.

Setup:

Running notebooks on azure and clone the library and Run on Free ...