Un endpoint limitado por CPU es demasiado lento. ¿Cuáles son las opciones y qué cuestan?
A grandes rasgos: mover el trabajo fuera del request a una cola, paralelizar con procesos en vez de hilos, empujar el loop caliente a C o Rust vía una extensión, o cambiar el algoritmo. Lo último suele ser lo más barato y lo que la gente se salta. Multiprocessing te cuesta la serialización de todo lo que cruza el límite; una extensión te cuesta complejidad de build y un segundo lenguaje en el repo.