Python was spending so much time locking its data structures so two threads could access the same data structure at the same time that it was actually slowing down the computer's ability read traffic over the network, which was causing it to spend more time switching between threads. 