2009-10-23 5 views

Odpowiedz

42

Są to te same czasy, że polecenie Unix time lub inne narzędzia typowe benchmarking będzie raport:

  • użytkownik: ilość czasu spędzonego na wykonywanie kodu przestrzeni użytkownika (np: kod),
  • System : ilość czasu spędzonego na wykonywanie kodu jądra i
  • prawdziwe: „prawdziwy” ilość czasu zajęło wykonanie kodu (tj system + użytkownik + czas oczekiwania na wejścia/wyjścia, sieć, dysk, dane wejściowe użytkownika itp.). Znany również jako "czas zegarowy".
+0

Doskonały. Dzięki. – Ethan

+0

@jorg Czy dokumenty Ruby dotyczące testu porównawczego są błędne, ponieważ pokazują rzeczywiste czasy, które są znacznie krótsze niż czasy całkowite? Źródło: http://ruby-doc.org/stdlib-1.9.3/libdoc/benchmark/rdoc/Benchmark.html – rscott

+2

@rscott: użytkownik, system i suma odnoszą się do sumy czasu we wszystkich rdzeniach, podczas gdy rzeczywisty jest po prostu dosłowny całkowity czas. Dlatego jeśli kod działa w systemie wielordzeniowym, każdy z pierwszych trzech może przekroczyć ten drugi. – Sparhawk

-2

Proszę sprawdzić ten klejnot: https://github.com/igorkasyanchuk/benchmark_methods

Nie więcej kodu tak:

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

Teraz można zrobić:

benchmark :calculate_report # in class 

I wystarczy zadzwonić metoda

user.calculate_report