I am testing multiprocessing on jupyter notebook and spyder:
import multiprocessing import time start = time.perf_counter() def do_something(): print(f'Sleeping 5 second(s)...') time.sleep(5) print(f'Done Sleeping...') p2 = multiprocessing.Process(target = do_something) p3 = multiprocessing.Process(target = do_something) p2.start() p3.start() p2.join() p3.join() finish = time.perf_counter() print(f'Finished in {round(finish-start, 2)} secounds') And I got:
Finished in 0.12 secounds This is much shorter than 5 seconds. I did test the do_something function and it seems fine. I feel like in above code, the do_someting function was not even executed...
start = time.perf_counter() def do_something(seconds): print(f'Sleeping {seconds} second(s)...') time.sleep(seconds) print(f'Done Sleeping...{seconds}') do_something(5) finish = time.perf_counter() print(f'Finished in {round(finish-start, 2)} secounds') Sleeping 5 second(s)... Done Sleeping...5 Finished in 5.0 secounds