2009-10-23 49 views

回答

42

這些都是同一倍的Unix time命令或其他典型的基準測試工具將報告:

  • 用戶:的時間量花在執行用戶空間代碼(即:你的代碼),
  • 系統:的時間量花在執行內核代碼和
  • 真正:時間的「真正的」量花費執行代碼(即系統 + 用戶 +等待I/O,網絡,磁盤,用戶輸入等所花費的時間)。也被稱爲「掛鐘時間」。
+0

優秀。謝謝。 – Ethan 2009-10-23 23:36:32

+0

@jorg基準測試的Ruby文檔是否出現錯誤,因爲它們顯示的實時比總時間短得多?資料來源:http://ruby-doc.org/stdlib-1.9.3/libdoc/benchmark/rdoc/Benchmark.html – rscott 2012-08-28 14:27:09

+2

@rscott:用戶,系統和總數是指所有內核之間的時間總和,而真正的只是字面總時間。因此,如果代碼運行在多核系統上,前三者中的任何一個都可以超過後者。 – Sparhawk 2013-03-12 23:59:10

-2

請檢查這種寶石: https://github.com/igorkasyanchuk/benchmark_methods

沒有這樣的更多的代碼:

t = Time.now 
user.calculate_report 
puts Time.now - t 

現在你可以這樣做:

benchmark :calculate_report # in class 

並調用你的方法

user.calculate_report