事实上,perl 三元运算符比 if else 更快

Fact that perl ternary operator faster than if else

perl 三元运算符是否比 else 快,如果快多少次,如何证明?

if/else 和三元运算符在内部被编译成相同的基本操作码 (OP_COND_EXPR)。唯一的区别是,因为 if/else 块中的代码形成了一个新的范围,所以在每个块的 beginning/end 处有额外的启动和拆卸。

但性能差异不太可能显着,并且 99.9% 的时间您应该以可读性最大化的方式编写代码 - 例如,不在 void 上下文中使用三元运算符。