对Lua的时钟精度感到困惑

时间:2019-07-11 18:54:34

标签: lua

我认为Lua os.clock()返回的时间是秒。但是从https://www.lua.org/pil/22.1.html这里的文档中,可以看到它们的示例

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))

将结果四舍五入到小数点后两位。 os.clock()返回second.ms吗?

也可以在Lua中运行

> print(os.clock())
0.024615

这些小数位是什么?

1 个答案:

答案 0 :(得分:2)

os.clockos.time的时间不同。

os.time处理的是“ wall-clock time,这是人类使用的时间。

os.clock是一个计数器,报告CPU time。从os.clock获得的十进制数字是CPU在运行当前任务上花费的秒数。除了使用相同的基本时间单位(秒)以外,CPU时间与墙上时钟时间没有任何关系。