That's interesting - I just tried on my Ryzen 5 3600 and got the following:
10k using 48 processes:
0.82 seconds (using the original single threaded script this was actually faster at 0.65)
100k using 48 processes:
28.41s
200k using 48 processes:
99.68s
---
EDIT - looking at resource monitor python.exe is only using 7-8% of total available CPU resources
---
EDIT 2 - switching to ThreadPool from multiprocessing.dummy brought the 10k result down from 0.8 seconds to 0.3 seconds, but didn't impact the 100k or 200k results
10k using 48 processes: 0.82 seconds (using the original single threaded script this was actually faster at 0.65)
100k using 48 processes: 28.41s
200k using 48 processes: 99.68s
--- EDIT - looking at resource monitor python.exe is only using 7-8% of total available CPU resources
--- EDIT 2 - switching to ThreadPool from multiprocessing.dummy brought the 10k result down from 0.8 seconds to 0.3 seconds, but didn't impact the 100k or 200k results