2010-08-07 26 views
27

Tôi đang cố gắng tìm ra hiệu suất của mã của tôi, nhưng tôi không hiểu đầu ra của lệnh time, Ai có thể vui lòng giải thích những gì hiện thời gian đầu ra lệnh có nghĩa là.Làm thế nào để hiểu được đầu ra của lệnh thời gian?

Sau đây là những gì tôi nhận được:

time ./filereader 

real 0m0.193s 
user 0m0.012s 
sys 0m0.056s 

là gì real, user, sys?

+0

Xem câu hỏi trùng lặp cho câu trả lời toàn diện: http://stackoverflow.com/questions/556405/what-do-real-user-and-sys-mean-in-the-output-of-time1 –

Trả lời

32

Từ: http://zch051383471952.blogspot.com/2010/01/different-of-real-user-sys-time.html

Bất động đề cập đến thời gian trôi qua thực tế; Người dùng và Sys chỉ thời gian CPU được sử dụng chỉ theo quy trình.

  • Thời gian đồng hồ treo tường là thời gian từ lúc bắt đầu đến khi kết thúc cuộc gọi. Đây là tất cả thời gian trôi qua bao gồm các lát thời gian được sử dụng bởi các quy trình khác và thời gian quy trình chi tiêu bị chặn (ví dụ: nếu đang chờ I/O hoàn tất).
  • Người dùng là lượng thời gian CPU đã sử dụng trong mã chế độ người dùng (bên ngoài hạt nhân ) trong quá trình. Đây là chỉ thời gian CPU thực tế được sử dụng khi thực hiện quy trình. Các quy trình và thời gian khác quá trình chi tiêu bị chặn không được tính vào con số này.
  • Sys là lượng thời gian CPU được sử dụng trong hạt nhân trong quá trình. Điều này có nghĩa là thực hiện thời gian CPU đã chi tiêu trong cuộc gọi hệ thống trong hạt nhân, như trái ngược với mã thư viện, là vẫn chạy trong không gian người dùng. Giống như 'người dùng', đây chỉ là thời gian CPU được sử dụng bởi quy trình.
10

'thực' là lượng thời gian cần thiết. Nếu bạn đã dành thời gian với một đồng hồ bấm giờ, đó là những gì bạn sẽ nhận được.

'người dùng' là lượng thời gian CPU mà quá trình được sử dụng.

'sys' là lượng thời gian CPU mà hạt nhân đã sử dụng thay mặt cho quy trình.

+2

'real' là không phải là khoảng thời gian mà một chiếc đồng hồ dừng lại nói, ít nhất là từ các quan sát của tôi. Ví dụ, đêm qua tôi bắt đầu một quá trình, và sáng nay nó báo cáo 'thực sự 2376m6.172s'. Trong thực tế, chưa đầy mười hai giờ trôi qua. – feklee

Các vấn đề liên quan