gpt4 book ai didi

c++ - 潜在的异常会带来开销吗?

转载 作者:太空狗 更新时间:2023-10-29 23:38:16 26 4
gpt4 key购买 nike

当不抛出异常时,一段可能抛出异常的代码与没有抛出异常的类似代码相比,性能是否会下降?

最佳答案

已经证明可以在“正常”(非异常相关)代码中以零开销实现 C++ 异常处理机制。然而,在实践中,编译器通常坚持更简单的实现,这通常会导致效率较低的“正常”代码。编译器必须考虑到潜在异常在函数层次结构中飞来飞去的可能性,因此会生成一些额外的家庭操作,以便在抛出异常时能够正确展开堆栈。无论是否抛出异常,这些额外的家庭代码都会影响代码的整体效率。

这完全是 QoI(实现质量)问题。它是特定于编译器的。检查您的编译器以获取更多详细信息。一些编译器实际上提供了启用/禁用 C++ 异常的选项,以便在根本不使用异常时生成最高效的代码。

关于c++ - 潜在的异常会带来开销吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1834405/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com