Tôi đang tìm tài liệu mô tả chi tiết cách thức hoạt động của bộ sưu tập rác python.
Tôi quan tâm những gì được thực hiện trong bước nào. Những đối tượng nào trong 3 bộ sưu tập này? Những loại đối tượng được xóa trong mỗi bước? Thuật toán nào được sử dụng để tìm chu kỳ tham khảo?
Bối cảnh: Tôi đang thực hiện một số tìm kiếm phải hoàn thành trong một khoảng thời gian nhỏ. Khi trình thu gom rác bắt đầu thu thập thế hệ cũ nhất, nó sẽ "chậm" hơn nhiều so với các trường hợp khác. Phải mất nhiều thời gian hơn dự định cho các tìm kiếm. Tôi đang tìm cách dự đoán khi nào nó sẽ thu thập thế hệ cũ nhất và sẽ mất bao lâu.
Thật dễ dàng để dự đoán khi nào nó sẽ thu thập thế hệ cũ nhất với get_count()
và get_threshold()
. Điều đó cũng có thể được thao tác với set_threshold()
. Nhưng tôi không thấy cách dễ dàng để quyết định là tốt hơn để thực hiện collect()
bằng vũ lực hoặc chờ bộ sưu tập theo lịch trình.