Я желаю выяснить, сколько миллисекунд конкретная функция использует. Таким образом, я выглядел высоким и низким, но не мог найти способ получить время в Ruby с точностью миллисекунды.
Как дела это? На большинстве языков программирования его просто что-то как
start = now.milliseconds
myfunction()
end = now.milliseconds
time = end - start
Вы можете использовать класс рубина Время
. Например:
t1 = Time.now
# processing...
t2 = Time.now
delta = t2 - t1 # in seconds
Теперь delta
- это объект float
, и вы можете получить такой же мелкий результат, как и класс.
Вам следует взглянуть на модуль тестирования для выполнения тестов. Однако в качестве быстрого и грязного метода отсчета времени вы можете использовать что-то вроде этого:
def time
now = Time.now.to_f
yield
endd = Time.now.to_f
endd - now
end
Обратите внимание на использование Time.now.to_f
, которое, в отличие от to_i, не обрезается до секунд.