Concurrent and Parallel Programming in Python
WEBRip | English | MP4 | 1280 x 720 | AVC ~3000 Kbps | 30 fps
AAC | 128 Kbps | 44.1 KHz | 2 channels | Subs: English (.srt) | ~6 hours | 2.22 GB
AAC | 128 Kbps | 44.1 KHz | 2 channels | Subs: English (.srt) | ~6 hours | 2.22 GB
Genre: eLearning Video / Development, Programming Languages, Python
Speed up your programs with concurrencyWhat you'll learn
How to use concurrency and parallelism in Python
How to write multi-threaded programs
How to write multi-process programs
How to write asynchronous programs
Description
In this course you'll learn how to create multi-threaded, asynchronous, and multi-process programs in Python, so that you can make your programs run even faster.
In applications communicating with other resources, a lot of time is spent just waiting for information to be passed from one place to another. You'll learn how to use multi-threading as well as asynchronous programming to speed up programs that are heavily bottlenecked by IO operations.
We'll go through an introduction first of where potential speed bottlenecks come from as well as how we could solve these issues, and then we'll dive directly into the technical content and build out a multi-threaded program together that grabs data from the internet, parses, and saves it into a local database.
Other programs may be more heavily affected by CPU limitations. We'll also learn how to implement multiprocessing in Python, the library that lets us use multiple CPUs in our Python code. With this we'll be able to spread our workload over all the cores available on the machine we're using.
Finally, we'll also look to combine both elements, taking a look at how we can use multiprocessing together with asynchronous programming to get the most benefit for yourself, maximizing your use of CPU resources and minimizing time spent siting idle waiting for IO response.
You can find the lecture code in the GitHub repository linked in the first lesson.
Who this course is for:
Python developers that want to make their programs faster by adding concurrency
also You can find my other useful: Development-posts
General
Complete name : 3. Multiprocessing Pool.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/iso2/avc1/mp41)
File size : 58.4 MiB
Duration : 10 min 40 s
Overall bit rate : 766 kb/s
Writing application : Lavf58.12.100
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L3.1
Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, RefFrames : 4 frames
Format settings, GOP : M=4, N=60
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 10 min 39 s
Bit rate : 629 kb/s
Nominal bit rate : 3 000 kb/s
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 30.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.023
Stream size : 48.0 MiB (82%)
Writing library : x264 core 148
Encoding settings : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x1:0x111 / me=umh / subme=6 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=22 / lookahead_threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=60 / keyint_min=6 / scenecut=0 / intra_refresh=0 / rc_lookahead=60 / rc=cbr / mbtree=1 / bitrate=3000 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=3000 / vbv_bufsize=6000 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=1:1.00
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : mp4a-40-2
Duration : 10 min 40 s
Bit rate mode : Constant
Bit rate : 128 kb/s
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 44.1 kHz
Frame rate : 43.066 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 9.77 MiB (17%)
Default : Yes
Alternate group : 1
Complete name : 3. Multiprocessing Pool.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/iso2/avc1/mp41)
File size : 58.4 MiB
Duration : 10 min 40 s
Overall bit rate : 766 kb/s
Writing application : Lavf58.12.100
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L3.1
Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, RefFrames : 4 frames
Format settings, GOP : M=4, N=60
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 10 min 39 s
Bit rate : 629 kb/s
Nominal bit rate : 3 000 kb/s
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 30.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.023
Stream size : 48.0 MiB (82%)
Writing library : x264 core 148
Encoding settings : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x1:0x111 / me=umh / subme=6 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=22 / lookahead_threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=60 / keyint_min=6 / scenecut=0 / intra_refresh=0 / rc_lookahead=60 / rc=cbr / mbtree=1 / bitrate=3000 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=3000 / vbv_bufsize=6000 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=1:1.00
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : mp4a-40-2
Duration : 10 min 40 s
Bit rate mode : Constant
Bit rate : 128 kb/s
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 44.1 kHz
Frame rate : 43.066 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 9.77 MiB (17%)
Default : Yes
Alternate group : 1
Screenshots
Exclusive eLearning Videos ParRus-blog ← add to bookmarks