Si encuentras algún problema en tu código o trabajo, recuerda probar siempre en un entorno de testing antes subir el código al proyecto final.
Solución:
Si la variante C necesita x horas menos, entonces invertiría ese tiempo en dejar que los algoritmos se ejecuten más/nuevamente
“invertir” no es la palabra correcta aquí.
-
Cree una implementación funcional en Python. Terminará esto mucho antes de terminar una versión C.
-
Mida el rendimiento con el generador de perfiles de Python. Soluciona cualquier problema que encuentres. Cambie las estructuras de datos y los algoritmos según sea necesario para hacerlo correctamente. Terminará esto mucho antes de terminar la primera versión en C.
-
Si todavía es demasiado lento, traduzca manualmente el bien diseñado y cuidadosamente construido Python a C.
Debido a la forma en que funciona la retrospectiva, hacer la segunda versión de Python existente (con pruebas unitarias existentes y con datos de perfiles existentes) seguirá siendo más rápido que intentar hacer el código C desde cero.
Esta cita es importante.
Regla de Thompson para los fabricantes de telescopios primerizos
Es más rápido hacer un espejo de cuatro pulgadas y luego un espejo de seis pulgadas que hacer un espejo de seis pulgadas.
Bill McKeenan
Instituto Wang
Sí. Mira a Cython. Hace exactamente eso: Convierte Python a C para acelerar.
Shed Skin es “un compilador (restringido) de Python a C++”.
Más adelante puedes encontrar los informes de otros desarrolladores, tú todavía tienes la habilidad insertar el tuyo si te apetece.