What can go wrong?

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:

A Briefing on Processes and Threads

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. …

When everything else fails

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. …


Juliana Oliveira

Developer, Livre Software enthusiast.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store