Wykonuję obliczenia wymagające dużej pętli i przekonwertowałem kod na Cython. zrobiłem profilowania z opcją -a Cython i sprawdzony plik .html, i wydaje się, ilekroć zrobić podział pływaka, jest nieco żółta linia i robi coś jak następuje: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;}
}
Chyba jest dla przypadków, w których dzielnik wynosi 0. Używam stałej dla tego i nie ma prawdopodobieństwa, że dzielnik wynosi 0, i zastanawiałem się, czy jest coś, co mogę zrobić, aby przyspieszyć.
Czy używasz już 'cdef float yourconstant' (a także dla drugiej części podziału)? Czy możesz pokazać część kodu? – TryPyPy
Hmm, wygląda na to, że lubi "cdef double" lepiej. – TryPyPy