2010-09-21 9 views
7

Tôi đã bắt đầu lược tả một tập lệnh có nhiều câu lệnh sleep(n). Tất cả trong tất cả, tôi nhận được hơn 99% thời gian chạy ngủ. Tuy nhiên, đôi khi, nó thường chạy vào các vấn đề hiệu suất trong thời gian nó hoạt động thực nhưng dữ liệu lược tả thú vị có liên quan trở nên rất khó xác định khi ví dụ: sử dụng kcachegrind.Python cProfile: cách lọc ra các cuộc gọi cụ thể từ dữ liệu lược tả?

Có cách nào để tôi có thể liệt kê các cuộc gọi/chức năng nhất định khỏi bị lược tả không? Cách khác, làm cách nào tôi có thể lọc cuộc gọi như vậy với xử lý hậu kỳ của tệp dữ liệu lược tả?

Tôi đang sử dụng trình trang trí profilestats (http://pypi.python.org/pypi/profilestats).

Cảm ơn

Trả lời

2

Bạn cần nhiều hơn chỉ loại trừ mẫu trong khi ngủ(). Bạn cần các mẫu còn lại để cho bạn biết điều gì đó hữu ích. Đó sẽ là lấy mẫu chồng lên nhau, vào thời gian đồng hồ treo tường, tóm tắt phần trăm ở cấp độ mã vạch. Zoom là một công cụ tốt cho loại lấy mẫu này, và tôi hy vọng không quá khó để bỏ qua các mẫu có chứa một hàm cụ thể.