On the last few weeks working on diffoscope I’ve came to realise how far we, as humankind, still are from being able to easily parallel large or complex chunks of code. In this article I’ll be exploring a little about what multiprocessing does with your data behind the curtains and why this knowledge makes our lives easier when trying to parallelize code.
Since we’re diving into specifics, these are some sources to learn more about therminology and basic concepts of parallelism on python:
Processes have at least one thread. These threads, inside a process, share memory space. Threads are not interruptible or killable, whereas processes are heavier and take longer to spawn. Parallelism is achieved when two or more tasks are executed simultaneously; this can be done through threads or processes. …
One of the most known types of testing is unit testing. It hopes to guarantee that every module works individually. When an interaction is needed outside of its scope, this interaction is stubbed or mocked. But what happens when a new dependency is included, a new system is run or a new feature is written?
Regression, popularly known as bug, is the name given to all non-expected software behavior. …