Free Trial
Video
Nov 2022
6hrs 7mins
1st Edition
-
Understand where potential computing speed bottlenecks arise and how we can resolve them
-
Create multi-threaded, asynchronous, and multi-process programs to make your programs run faster
-
Combine multiprocessing with asynchronous programming to get maximum benefits of coding
In a big data project, a plethora of information is retrieved, big numbers are crunched on our machine, or both. If the coding is sequential or synchronous, our application will struggle to execute. Two mechanisms to alleviate such bottlenecks are concurrency and parallelism. In Python, concurrency is represented by threading, whereas multiprocessing achieves parallelism.
This course begins with an introduction about potential programming speed bottlenecks and solving them. You will delve into Python concepts and create a Wikipedia Reader, Yahoo Finance Reader, Queues, and Master Scheduler. You will build a multi-threaded program to grab data from the Internet and parse and save them into a local database. Implement multiprocessing in Python, which lets us use multiple CPUs in our code. Learn about threading, multiprocessing, asynchronous wait, locking, multiprocessing queues, Pool Map Multiple Arguments, writing asynchronous programs, and combining async and multiprocessing.
Upon completion, we can spread our workload over all cores available on the used machine. We will combine both elements, multiprocessing with asynchronous programming, to maximize benefit and CPU resource usage and minimize the time spent waiting for IO responses. You will create multi-threaded, asynchronous, multi-process programs to make programs run faster.
All resources are available at: https://github.com/PacktPublishing/Concurrent-and-Parallel-Programming-in-Python
This course is aimed at intermediate- to mastery-level seeking programmers, API developers, web developers, and application developers who know basic- to intermediate-level Python coding beforehand. The topics on concurrency and parallelism expect one to be aware of basic to intermediate understanding of coding on Python. Prior knowledge of basic Python coding is desirable for optimal benefit from this course.
-
Learn to use concurrency and parallelism in Python
-
Write multi-threaded programs in Python to reduce coding lengths
-
Write multi-process programs that execute even faster
-
Understand the differences between concurrency and parallelism
-
Create asynchronous programs in Python by adding concurrency
-
Spread workload over all the cores available on a machine being used