Tôi đang thực hiện một số tính toán chuyên sâu vòng lặp và chuyển đổi mã thành Cython. tôi đã profiling với tùy chọn -a cython, và kiểm tra các tập tin .html, và có vẻ như bất cứ khi nào tôi làm bộ phận phao, có dòng hơi vàng và nó giống như sau:Phân chia phao Cython PyExc_ZeroDivisionError kiểm tra
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;}
}
Tôi đoán nó là dành cho các trường hợp mà dải phân cách là 0. Tôi đang sử dụng hằng số cho điều đó và không có xác suất nào là dải phân cách là 0, và tôi đã tự hỏi liệu có bất kỳ điều gì tôi có thể làm để làm cho nó nhanh hơn không.
Bạn đã sử dụng 'cdef float yourconstant' (và cho phần khác của bộ phận quá)? Bạn có thể hiển thị một số mã không? – TryPyPy
Hmm, có vẻ như nó thích 'cdef double' tốt hơn. – TryPyPy