Как ко времени операция в миллисекундах в Ruby?

Я желаю выяснить, сколько миллисекунд конкретная функция использует. Таким образом, я выглядел высоким и низким, но не мог найти способ получить время в Ruby с точностью миллисекунды.

Как дела это? На большинстве языков программирования его просто что-то как

start = now.milliseconds
myfunction()
end = now.milliseconds
time = end - start
74
задан Sergio Tulentsev 24 October 2012 в 09:52
поделиться

3 ответа

Вы можете использовать класс рубина Время . Например:

t1 = Time.now
# processing...
t2 = Time.now
delta = t2 - t1 # in seconds

Теперь delta - это объект float , и вы можете получить такой же мелкий результат, как и класс.

86
ответ дан 24 November 2019 в 11:54
поделиться

Используйте Time.now.to_f

1
ответ дан 24 November 2019 в 11:54
поделиться

Вам следует взглянуть на модуль тестирования для выполнения тестов. Однако в качестве быстрого и грязного метода отсчета времени вы можете использовать что-то вроде этого:

def time
  now = Time.now.to_f
  yield
  endd = Time.now.to_f
  endd - now
end

Обратите внимание на использование Time.now.to_f , которое, в отличие от to_i, не обрезается до секунд.

13
ответ дан 24 November 2019 в 11:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: