我已閱讀this question,但我希望獲得比第二個更好的定時精度:這是否可能具有libc的某些功能?如何在Cython中測量時間達到毫秒?
這裏面with nogil
使用,所以當然沒有Python是不允許......
我已閱讀this question,但我希望獲得比第二個更好的定時精度:這是否可能具有libc的某些功能?如何在Cython中測量時間達到毫秒?
這裏面with nogil
使用,所以當然沒有Python是不允許......
你爲什麼不使用日期時間?例如datetime.datetime.now()會給你當前的時間值,包括毫秒。
這是Python,我正在尋找C中的東西(用nogil部分...) –
您可以使用POSIX clock_gettime():
from posix.time cimport clock_gettime, timespec, CLOCK_REALTIME
cdef timespec ts
cdef double current
clock_gettime(CLOCK_REALTIME, &ts)
current = ts.tv_sec + (ts.tv_nsec/1000000000.)
這個片段店current
的,因爲有高達納秒的精度(取決於你的系統)時代的秒數。
您還可以使用gettimeofday(),但它現在已經過時:
POSIX.1-2008標記的gettimeofday()爲過時,建議使用clock_gettime(2)來代替。
在你的cython的哪個部分? '.pyx'或'.c [pp]'?對於C:http://stackoverflow.com/questions/5833094/get-a-timestamp-in-c-in-microseconds。有很多方法可以在C++中完成它。那麼也許你可以在.pyx中製作一個包裝器。 –
@XinHuang in .pyx,我甚至沒有.c(除了由cython生成的一個) –