Wrapping Up

Course Feedback Session

Limitations

The most popular Python implementation (CPython) does not support multithreading within the interpreter itself. Extension modules can circumvent this, but implementing these is a nontrivial task. Other implementations (Jython, IronPython) natively support multithreading, but lack the powerful C extension API that enables numpy and other low-level libraries. See https://wiki.python.org/moin/GlobalInterpreterLock for details.

Python, by design, limits access to low-level features such as memory management and processor intrinsics. This will always make your code slower than a low-level implementation, no matter how much of your code uses numpy or pandas.

Final Words

Go read the Python tutorial (https://docs.python.org/3/tutorial/), it is very well-written and features lots of examples. Continue writing code yourself to get some practice, but be sure to look at other peoples’ code, too. Remember that if you have trouble writing something in Python, you are probably approaching the problem the wrong way.

Justus Henneberg, Johannes Gutenberg University Mainz, Spring 2020 (mod by Markus Vieth Spring 2021)