Due to its comprehensiveness and ease-of-use, Python is one of the fastest-growing languages for all kinds of applications, and especially for science, engineering, and data analysis. As datasets grow larger and technical problems become more complex, people start looking for ways to make their computations run faster, such as multithreading and multiprocessing. Many people don’t seem to realize that although multithreading works differently in Python than in other languages (due largely to Python’s Global Interpreter Lock, or GIL), Python nonetheless does support powerful techniques for concurrency and parallel computing. In this one-day workshop, we explain how the GIL works (and why), introduce a number of concurrency techniques that allow you to increase the computational performance of Python programs, and discuss common pitfalls and best practices.
Key topics covered include: