Measure time of a routine in Ruby

2

Is there a function in Ruby to measure the time of a function?

In python I use:

ini = time.time()
#função
fim = time.time()
    
asked by anonymous 27.08.2018 / 06:42

1 answer

2

Option 1: You can do something very similar to Python , using class Time .

Example:

ini = Time.now
#funcao
fim = Time.now

#tempo_resultante vai ser do tipo float    
tempo_resultante = fim - ini

Option 2: Using the Benchmark .

Example:

require 'benchmark'

Benchmark.bm(7) do |x| #o 7 é o tamanho da coluna na saida
  x.report("funcao x:"){ 
       #funcao que deseja testar
  }
end

Output:

                user     system      total        real
 funcao x:     1.050000   0.000000   1.050000 (  0.503462)

Comments:

user:  tempo de CPU do usuário
system:  tempo de CPU do sistema
total:  soma dos tempos de CPU do sistema e usuário
real: tempo real total decorrido

obs: todos os tempos são dados em segundos
    
27.08.2018 / 13:06