You understand that multiprocessing does not use threads, right? I say this because you mention the "single-threaded analogue."
Do you send a lot of data through multiprocessing map? The likely reason is the multiprocessing multitasking, which should be performed in many cases. multiprocessinguses picklethat usually takes up more memory than the data it poisons. (In some cases, especially on systems with fork()where new processes are created when the method is called map, this can avoid serialization, but whenever it needs to send new data to an existing process, it cannot do this.)
multiprocessing , , . , , . ( , ) CoW, Python , , , .