Lua - xpcall和Try一样慢...用其他语言捕获?

Ign*_*s01 2 lua

我似乎无法在网上找到任何关于此的信息,但是使用xpcall vs直接在lua中调用函数有什么性能影响:

a)什么时候没有错误?

b)发生错误时?

是否类似于try ...来自其他语言的处理异常会导致性能问题?

Sne*_*tel 5

谈论异常处理成本的语言,比如C++,是那些在一般情况下用于高性能的语言,因为从异常中清理涉及一个棘手而昂贵的堆栈展开过程,而不仅仅是弹出堆栈和返回.Lua是一种字节码解释语言,它显式地存储在其(虚拟)堆栈上展开所需的数据.所以它比不进行受保护的调用要慢一些,但老实说,如果你担心像这样的微优化,那么你使用的是错误的语言.