基准测试Lua

3

我希望不使用外部依赖程序对一些Lua进行基准测试。目前我正在使用os.clock:

local function dummy() end
local start = os.clock()
for i=1,n do dummy() end -- loop/call overhead
local overhead = os.clock() - start
local start = os.clock()
for i=1,n do f() end
local time = os.clock() - start - overhead

这是在Lua中进行基准测试的正确方式吗?是否有更好/更准确的Lua基准测试方法?


离题了,因为要求寻找外部资源。不过,我找到了ProFiluatrace - Henri Menke
@HenriMenke 不,我不是。 - SoniEx2
看起来是个不错的方法。你也可以尝试从http://lua-users.org/wiki/ObjectBenchmarkTests中获取代码。 - MysteryPancake
1个回答

0

请参阅《Lua编程》:Profiles。在那里,Lua的创造者Roberto Ierusalimschy本人警告不要过度依赖Lua反射(运行时访问内部Lua操作)进行准确的分析。关于时间分析,他说:

对于带有时间的分析,最好使用C接口:每个钩子的Lua调用开销太高,通常会使任何测量无效。

阅读整个章节以获得更好的上下文和深入了解Lua反射。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接