O Python possui um "bloqueio global de intérprete" que limita sua capacidade de utilizar vários segmentos de maneira eficiente. Um respondeu neste site que você deve considerar escrever funções críticas de tempo em C / C ++.
Se possível, considere dividir sua análise em partes menores e, em seguida, executá-las como processos separados para evitar o problema de bloqueio global do intérprete.