Estoy haciendo algunos cálculos de bucle intensivo y convertí el código en Cython. lo hice perfilado opción -a con Cython, e inspeccionó el archivo .html, y parece que cada vez que hago la división de flotación, no hay línea algo amarillo y lo hace algo como lo siguiente:Cython float division PyExc_ZeroDivisionError checking
if (unlikely(__pyx_t_37 == 0)) {
PyErr_Format(PyExc_ZeroDivisionError, "float division");
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
}
supongo que es para los casos en que el divisor es 0. Estoy usando una constante para eso y no hay probabilidad de que el divisor sea 0, y me preguntaba si hay algo que pueda hacer para hacerlo más rápido.
¿Ya está usando 'cdef float yourconstant' (y para la otra parte de la división también)? ¿Puedes mostrar algo del código? – TryPyPy
Hmm, parece que le gusta 'cdef double' mejor. – TryPyPy