Parallelism in Python
- 2019-08-28 03:31 PM
Python as a language has enjoyed a decade of usage in both industry and academia. It has been the most popular abstractions to scientific computing and machine learning, yet the base remains single-threaded. Just how is productivity in these fields being maintained with a single-threaded language?
"Python has a terrible reputation when it comes to its parallel processing capabilities. Ignoring the standard arguments about its threads and the GIL (which are mostly valid), the real problem with parallelism in Python isn’t a technical one, but a pedagogical one. The common tutorials surrounding Threading and Multiprocessing in Python, while generally excellent, are pretty “heavy.” They start in the intense stuff and stop before they get to the really good, day-to-day useful parts.
The talk will highlight the impact of Global Interpreter Lock on multithreaded programs and include code snippets to compare single and multithreaded programs using a real life example. Then, we move on to the concept of multiprocessing and the address its benefits over multithreading and mention some examples for it. The talk will end with an application of multiprocessing in the area of Computer Vision and how it speeds up the completion of a task by 82%.
Moreover this talks aims to inspire both novices and experts to look more into this subject and create something that could possibly be of benefit to the entire python community around the world."
Further reading about Python
☞ Complete Python Bootcamp: Go from zero to hero in Python 3
☞ Machine Learning A-Z™: Hands-On Python & R In Data Science
☞ Python and Django Full Stack Web Developer Bootcamp
☞ Complete Python Masterclass
☞ Python Tutorial - Python GUI Programming - Python GUI Examples (Tkinter Tutorial)
☞ Computer Vision Using OpenCV
☞ OpenCV Python Tutorial - Computer Vision With OpenCV In Python
☞ Python Tutorial: Image processing with Python (Using OpenCV)
☞ A guide to Face Detection in Python