Folders and files Name Name Last commit message
Last commit date
parent directory
View all files
What are the motivations for profiling and optimising code?
The perceived problems with Python; interpreted vs. compiled languages
The Python language vs. the Python environment: Python, CPython and PyPy
Profiling code- how to identify the 'problem areas' or potential slow-running areas in code
Speeding up code 1: Ahead-Of-Time (AOT) compilation with Cython
Speeding up code 2: Just-In-Time (JIT) compilation with numba
Speeding up code 3: parallel programming with multiprocessing and moving code to clusters
Speeding up code 4: An alternative Python- pypy
Speeding up code 5: The benefits of numpy
Performance differences between Python lists, arrays and Numpy arrays
Introduction to Computer architecture: why caches, threads and processes are important
The Python GIL (Global Interpreter Lock) and why this is important
Design choices- choosing the right algorithm for the job (big O notation)
Final thoughts and other ideas:
Why not just write it in C?
Use a specialist language to write native functions, eg. Chapel for parallel programming or Julia for general purpose performant code.
You can’t perform that action at this time.