Tôi muốn thời gian một đoạn mã của tôi, và tôi muốn chỉ là thời gian thực hiện CPU (bỏ qua quá trình hệ điều hành, vv).Định thời gian CPU của chương trình python?
Tôi đã thử time.clock(), nó xuất hiện quá thiếu chính xác và đưa ra một câu trả lời khác nhau mỗi lần. (Trong lý thuyết chắc chắn nếu tôi chạy nó một lần nữa cho cùng một đoạn mã nó sẽ trả về cùng một giá trị ??)
Tôi đã chơi với thời gian khoảng một giờ. Về cơ bản những gì giết nó cho tôi là quá trình "thiết lập", tôi sẽ phải nhập khoảng 20 chức năng không thực tế vì tôi đang viết lại mã của mình vào phần thiết lập để thử và sử dụng nó.
Cprofiles trông hấp dẫn hơn, nhưng chúng có trả lại thời gian CPU không? cũng là một điểm nhỏ - nó tạo ra quá nhiều thông tin. Có cách nào để có được thông tin outputted vào một tập tin txt hoặc .dat vì vậy tôi thực sự có thể đọc nó?
Cheers
OS: Chương trình Ubuntu: python 2.7
Lưu ý rằng bạn sẽ nhận được thời gian khác nhau cho mỗi lần chạy, ngay cả khi bạn muốn tính chu kỳ CPU chỉ được thực hiện bởi quy trình của bạn. Điều này là do bộ nhớ cache CPU, mà sẽ kết thúc ở trạng thái khác nhau (có phần khác nhau của không gian địa chỉ của bạn) mỗi lần. Bộ nhớ cache CPU được chia sẻ giữa các quá trình, vì vậy bạn không thể đảm bảo rằng ví dụ mỗi lần bạn chạy mã của mình, một biến nhất định sẽ được lưu trong bộ nhớ cache. – liori
[resource.getrusage] (http://docs.python.org/2/library/resource.html) có thể được sử dụng để có được thời gian xử lý trong python 2.7 – Annan