Aquí está mi problema básico:La sobrecarga de Python funciones matemáticas utilizando Cython
Tengo un archivo de Python con una importación de
from math import sin,cos,sqrt
necesito este archivo para seguir siendo 100% CPython compatibles como para que mis desarrolladores escribir el código 100% CPython y emplear las excelentes herramientas desarrolladas para Python.
Ahora ingrese Cython. En mi archivo de Python, las funciones trigonométricas se llaman millones de veces (fundamental para el código, no puede cambiar esto). ¿Hay alguna manera de que a través de algunos de Python-Fu en el archivo principal de pitón, o la magia Cython de lo contrario su lugar puede utilizar la C/C++ funciones matemáticas utilizando alguna variación en el código Cython
cdef extern from "math.h":
double sin(double)
Eso me daría NEAR C rendimiento, que sería increíble.
Stefan's talk específicamente dice que esto no se puede hacer, pero la charla es de dos años, y hay mucha gente creativa por ahí
Estoy bastante seguro de CPython ya utiliza estas funciones internamente. ¿Por qué reimplementarían las operaciones matemáticas básicas? – ThiefMaster
Si va a llamar a las funciones trigonométricas para una gran cantidad de valores, considere empacar esos valores en matrices Numpy y llamar a 'np.sin' y sus amigos. –
@ThiefMaster - Después de mirar el código .c que Cython generó a partir de mi archivo que importó la función sqrt, no usa las versiones math.h, lo que es desafortunado – ibell