Overview
Syllabus
Intro
THE PYTHON PROGRAMMING LANGUAGE
POPULAR LANGUAGES
PERFORMANCE OF LANGUAGES
CPYTHON
FROM SOURCE TO RUNTIME
PYTHON BYTECODE print(5 is 7 - 2, 300 is 3022)
THE TYPE OF A PyObject
DATA IN PYTHON
YOUR BEST FRIEND AND WORST ENEMY: GIL-Global Interpreter Lock
THREADS AND CPU BOUND TASKS
A DUMB SPEED COMPARISON Calculating the mean of 1000000 randomly generated numbers.
CLASSES TO STRUCTURE CODE
STRUCT OF ARRAYS VS ARRAY OF STRUCTS
NUMPY: ndarray
"HIDDEN" ALLOCATIONS
AVOIDING UNNEEDED ALLOCATIONS
MEMORY AND PERFORMANCE PROBLEMS
MASKING/SLICING IS THE ROOT OF ALL EVIL
NUMEXPR USAGE EXAMPLE
NUMEXPR SPEED-UP
NUMEXPR-SUPPORTED OPERATORS
NUMEXPR - SUPPORTED FUNCTIONS
AWKARD ARRAY
NUMBA JIT-EXAMPLE
CHOOSE YOUR TOOLS WITH CARE
PERSONAL REMARK
A FINAL WORD ON GREEN CODING/COMPUTING
Taught by
NHR@FAU