multiprocessing will make it a bit hard to share a global dict (it is possible using managers, but it’s not very intuitive). You can try spawning a few threads first, and see if you are bottlenecked by Python’s GIL.