It might be nice to try numba's nopython mode. Or cython with nogil. We use _thread. It might be nice to write a peer script to test-thread, that uses the threading module, or perhaps even the concurrent.futures module. concurrent.futures should give us the ability to compare multithreading to multiprocessing. The current code assesses an embarallel problem. It might be useful to consider something with more inter-thread communication.