Có cách nào lấy thời gian hệ thống có độ chính xác cao trong python không?Thời gian hệ thống chính xác cao ở trăn
Tôi có một ứng dụng nhỏ để làm việc với cổng COM ảo. Tôi muốn đo khoảng thời gian giữa việc gửi tin nhắn và nhận tin nhắn.
Tại thời điểm nó hoạt động như thế này:
tôi có được tin nhắn, sử dụng
time.time()
và thêm 20 chữ số của nó vào tin nhắn. Ứng dụng khách nhận được thông báo này và nhận được
time.time()
một lần nữa, sau đó tính toán sự khác biệt của chúng. Ở hầu hết các trường hợp, khoảng thời gian (như tôi mong đợi) bằng không.
Câu hỏi đặt ra là: có cách nào thực hiện điều này một cách thông minh hơn và chính xác hơn không?
Nếu người gửi và người nhận là trên các máy khác nhau, làm thế nào để bạn xử lý các timebases khác nhau? Trong bất kỳ trường hợp nào, trình điều khiển cổng nối tiếp sẽ gửi cho bạn thông báo bất cứ khi nào nó cảm thấy giống như vậy, điều này cực kỳ thay đổi (10 của mili giây, theo kinh nghiệm của tôi). – mtrw
người gửi và người nhận trên cùng một máy (tôi đang sử dụng cổng COM ảo). chương trình được viết cho mục đích giáo dục, vì vậy tôi hỏi nếu có một cách thông minh để giải quyết vấn đề này –
liên quan: http://bugs.python.org/issue10278 [time.walltime() in C] (http: // bug.python.org/review/10278/patch/3730/11849), [trong Python call clock_gettime() sử dụng ctypes] (http://stackoverflow.com/a/1205762/4279) – jfs