在 lua 中使用 dofile 运行一个几乎微不足道的脚本 10000 次,在这台机器上大约需要 52 秒,但如果我运行 10000 次“lua52 script.lua”,则需要 3 或 4 倍以上。我知道涉及更多系统调用和其他开销,但我试图实现的是运行脚本,超时时间为 3 秒,并打印输出。我的问题是带有无限循环的脚本,无论是否有意,例如:
while(true) do
end
我可以在 Lua 中为 dofile 设置超时吗?每次使用 timeout(3) 调用解释器是我唯一的选择吗?