Tôi có một dịch vụ Python chạy dài và tôi muốn biết thời gian đồng hồ treo tường tích lũy đã được chi tiêu bởi bất kỳ chủ đề nào có thể chạy được (tức là các chủ đề không bị chặn vì một số lý do khác) đang chờ GIL. Có cách nào làm dễ hơn không? Ví dụ: có lẽ tôi có thể định kỳ truy xuất một số truy cập vào tệp nhật ký của nó.Có cách nào dễ dàng để biết số tiền được dành để đợi GIL Python không?
Động lực cơ bản của tôi là loại trừ GIL như là nguồn gốc của độ trễ phản ứng bí ẩn từ các quy trình chạy dài này. Không có lý do cụ thể nào để nghi ngờ GIL (ngoại trừ việc nó sẽ phù hợp với các triệu chứng), nhưng các hình thức khai thác gỗ khác vẫn chưa bật lên, vì vậy, nếu nó dễ dàng, sẽ rất tuyệt khi có thông tin này .
Dự án gil_load cho bạn biết tần suất GIL được giữ (nghĩa là, * ít nhất một * chuỗi là runnable). Câu hỏi sẽ hỏi tần suất GIL được chờ đợi (có nghĩa là, * ít nhất hai luồng * là runnable). Làm thế nào để bạn đạt được điều đó với gil_load? –