Tengo algunas funciones escritas en C para un proyecto de juego. Estas funciones son llamadas bastante (alrededor de 2000-4000 veces por segundo). Las funciones están escritas en C para velocidad bruta.ctypes vs extensión C
Ahora, la forma más fácil para mí de incluir estas funciones en Python es usar ctypes
. La alternativa es escribir una extensión C a Python en torno a estas funciones (lo que requiere un esfuerzo extra). Entonces me pregunté, sin incluir la carga inicial de la DLL, ¿qué tan grande es la sobrecarga de ctypes
?
estoy usando Python 2.7 (la liberación CPython estándar), y no querer usar una biblioteca externa como Cython.
Sé que esta pregunta se ha hecho antes, pero no he visto mucha información sobre la comparación del rendimiento entre las dos opciones.
Bueno, el JIT de PyPy puede producir un código bastante bueno para llamadas 'ctypes' desde una o dos versiones. Es posible que desee darle una oportunidad. No publico esto como respuesta porque no tengo datos disponibles y no está claro si cambiar de intérprete es una opción para ti. – delnan
Espero que la sobrecarga sea similar. –
@Delnan: Este es un juego que enviaré, también a Linux. No puedo pedirles a mis usuarios que instalen PyPy. – orlp