Python is limited by the Global Interpreter Lock (GIL), which only allows one thread to execute at a given instance. This means that threading does not reduce program run times, regardless of how many cores your system has. There's a Stack Overflow discussion here:
multithreading - python multi-threading slower than serial? - Stack Overflow[
^] Note that this is quite old, and Python3 may change things. Google for slow python threads. There are plenty of resources that might help you choose another direction to improve your programs.