Um endpoint limitado por CPU está lento demais. Quais são as opções e quanto custam?
De modo geral: tirar o trabalho do request para uma fila, paralelizar com processos em vez de threads, empurrar o loop quente para C ou Rust via uma extensão, ou trocar o algoritmo. Essa última é geralmente a mais barata e a que as pessoas pulam. Multiprocessing custa a serialização de tudo que cruza a fronteira; uma extensão custa complexidade de build e uma segunda linguagem no repositório.