Czas wykonwyania programu

Przede wszystkim Witam,

Wpadłem na taki roszkę głupi pomysł aby sprawdzić czas wykonywania programu napisanego w Ruby. Tylko nie wiem czy jest on poprawny i/czy dokładny ?

start = Time.now [ Jakis tam program...] stop = Time.now puts stop - start
Jeśli istnieje jakaś lepsza metoda to bardzo prosze o podanie jej.

Pozdrawiam

Calego programu/skryptu? Polecam time :slight_smile:

shell> time skrypt.rb

A co to mierzenia czasu wykonywania fragmentu kodu mozna sobie troszke zycie uproscic, modyfukujac lekko Twoj kod:

class Stoper def self.go time = Time.now yield printf("%.2f sec.\n", Time.now - time) end end

[code]require ‘stoper’

Stoper.go {
1_000_000.times { }
}[/code]

Dzięki,

Oczywiście wszystko działa tak jak powinno!

Pozdrawiam

PS.Może polecił by mi ktoś kisiążke do nauki Ruby-iego? Przerobiłem narazie “Ruby.Wprowadzenie” - Fitzgeralda.

W rubym można jeszcze uprościć korzystając z modułu biblioteki standardowej benchmark.

Przykład:

[code]require ‘benchmark’
include Benchmark

bm do |test|
test.report(‘petla1’) do
x=0
100000.times {x+=1}
end
test.report(‘petla2’) do
x=0
100000.times {x-=1;x+=3}
end
end[/code]
Wynik:

user system total real petla1 0.046000 0.000000 0.046000 ( 0.047000) petla2 0.094000 0.000000 0.094000 ( 0.094000)
Przyjemności pisania w Rubim w dużej mierze wynika z tego że większości rzeczy nie trzeba samemu pisać. Use the Ruby force :slight_smile:

Widze że rozwiązanie piachoo jest profesjonalniejsze. Ech … ,jeszcze dużo czasu upłynie zanim poznam Ruby. Chyba zaczne studiować jakiś nowy podręcznik :smiley:

Pozdrawiam

Nie wspominales nic ze chodzi Ci o benchmarki kodu :slight_smile: