Lua - 如果和和,什么更快?
问题描述:
当我用lua检查两个条件时,哪种方式在运行时间更快?Lua - 如果和和,什么更快?
if bool and somefuntion() then
do stuff
end
或
if bool then
if somefuntion() then
do stuff
end
end
?
答
两个片段运行luac -l -p
,你会发现它们产生完全相同的字节码。所以,写一些更清楚的东西给你。
的原因它们是相同的是,Lua使用短路评价和和或,如通过OllieB提及。
可能有一个理论上的偏见,但实际上我怀疑它是可衡量的。你有任何sytax的问题吗? – Jan
不,但函数执行时间很长。我只是想知道如果它运行时布尔是假的.. – Fox
啊,那么也许你应该问这个问题。但下面的答案是正确的。 – Jan