Lua - Текущее время в миллисекундах

68
задан Jan Turoň 15 April 2017 в 22:57
поделиться

5 ответов

В стандарте C lua, нет. Необходимо будет обосноваться в течение многих секунд, если Вы не готовы изменить lua интерпретатор сами для имения использования os.time разрешение, Вы хотите. Это может быть недопустимо, однако, если Вы пишете код для других людей для выполнения самостоятельно и не что-то как веб-приложение, где Вы имеете полный контроль над средой.

Редактирование: другая опция состоит в том, чтобы записать Ваш собственный маленький DLL в C, который расширяет lua с помощью новой функции, которая дала бы Вам значения, которые Вы хотите и требуете, чтобы dll были распределены с Вашим кодом тому, кто бы ни собирается быть использованием его.

33
ответ дан Kevlar 24 November 2019 в 14:07
поделиться

Я использую LuaSocket для получения большей точности.

require "socket"
print("Milliseconds: " .. socket.gettime()*1000)

Это добавляет зависимость, конечно, но хорошо работает для персонального использования (в сравнительном тестировании сценариев, например).

58
ответ дан waqas 24 November 2019 в 14:07
поделиться

Можно использовать функцию C gettimeofday: http://www.opengroup.org/onlinepubs/000095399/functions/gettimeofday.html

библиотека Here C 'ul_time', функция sec_usec находится во 'время' глобальная таблица и возвращает секунды, useconds. DLL копии к папке Lua, откройтесь, это с требует 'ul_time'.

http://depositfiles.com/files/3g2fx7dij

0
ответ дан qwer 24 November 2019 в 14:07
поделиться

Кевлар корректен.

альтернатива пользовательскому DLL Посторонний объект Lua

3
ответ дан Doug Currie 24 November 2019 в 14:07
поделиться

Если вы хотите протестировать производительность, вы можете использовать os.clock, как показано в документе:

local x = os.clock()
local s = 0
for i=1,100000 do s = s + i end
print(string.format("elapsed time: %.2f\n", os.clock() - x))
52
ответ дан 24 November 2019 в 14:07
поделиться
Другие вопросы по тегам:

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