2009-10-23 14 views

Respuesta

42

Estos son los mismos tiempos que el comando Unix time u otras herramientas típicas de evaluación comparativa registraría

  • usuario: la cantidad de tiempo dedicado a la ejecución de código de espacio de usuario (es decir: su código),
  • sistema: la cantidad de tiempo dedicado a la ejecución de código del núcleo y
  • verdadera: el "verdadero" cantidad de tiempo necesario para ejecutar el código (es decir sistema + usuario + tiempo dedicado a la espera de E/S, red, disco, entrada del usuario, etc.). También conocido como "tiempo de reloj de pared".
+0

Excelente. Gracias. – Ethan

+0

@jorg ¿Los documentos de Ruby para Benchmark son erróneos porque muestran tiempos reales que son mucho más cortos que los tiempos totales? Fuente: http://ruby-doc.org/stdlib-1.9.3/libdoc/benchmark/rdoc/Benchmark.html – rscott

+2

@rscott: usuario, sistema y total se refieren a la suma de tiempo en todos los núcleos, mientras que real es solo el tiempo total literal. Por lo tanto, si el código se está ejecutando en un sistema de múltiples núcleos, cualquiera de los tres primeros puede exceder al último. – Sparhawk

-2

Por favor marque esta joya: https://github.com/igorkasyanchuk/benchmark_methods

Ningún código de la misma familia:

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

ahora que se puede hacer:

benchmark :calculate_report # in class 

Y simplemente llame a su método de

user.calculate_report 
Cuestiones relacionadas