101 votes

Comment obtenir le temps écoulé en millisecondes en Ruby ?

Si j'ai un Time objet obtenu à partir de :

Time.now

et que plus tard j'instancie un autre objet avec la même ligne, comment puis-je voir combien de millisecondes se sont écoulées ? Le deuxième objet peut être créé au cours de la même minute, des minutes suivantes ou même des heures.

0voto

Capripot Points 369

Si vous voulez quelque chose de précis, qui ne soit pas affecté par d'autres parties de votre application ( Timecop ) ou d'autres programmes (comme NTP), utilisez la fonction Process#clock_gettime con Process::CLOCK_MONOTONIC pour obtenir directement le temps du processeur.

t1 = Process.clock_gettime(Process::CLOCK_MONOTONIC)
# other code
t2 = Process.clock_gettime(Process::CLOCK_MONOTONIC)

De plus, si vous essayez d'étalonner du code, il y a la fonction Benchmark module pour cela !

require "benchmark"

time = Benchmark.realtime do
  # code to measure
end

-1voto

androidyue Points 144

Si vous souhaitez obtenir l'horodatage Unix. Ce code vous aidera.

t = Time.new
t.to_i
#the result 1407639700

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X