Mixing multiprocessing with multithreading is bad and we all know that. However, in this specific case there was nothing wrong in running tiny functions in another process. It seems that entropy.dump.dumpobj() is efficient enough nowadays to have it running in the same process anyway.