Measure time of a routine in Ruby

Asked

Viewed 157 times

2

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

In python I use:

ini = time.time()
#função
fim = time.time()

1 answer

2


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

Example:

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

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

Option 2: Using the module Benckmark.

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

Exit:

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

Remarks:

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

Browser other questions tagged

You are not signed in. Login or sign up in order to post.