gpt4 book ai didi

C++ 返回值与异常性能

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:49:19 24 4
gpt4 key购买 nike

我在某处读到,现代英特尔处理器具有用于实现异常的低级硬件,大多数编译器都利用它,结果是异常变得比使用变量返回结果状态更快。

这是真的吗?就返回状态/响应状态而言,异常是否比变量更快?阅读有关该主题的堆栈溢出似乎与此矛盾。

谢谢

最佳答案

请注意,“异常处理程序”一词存在歧义。我相信您会发现硬件人员在谈论异常时意味着:

  1. 硬件中断,又名信号,其处理程序有时称为异常处理程序(参见 http://pages.cs.wisc.edu/~smoler/x86text/lect.notes/interrupts.html)
  2. 机器检查异常,如果硬件出现问题会停止计算机(参见 http://en.wikipedia.org/wiki/Machine_Check_Exception)

这些都与 C++ 的异常处理工具无关。

作为一个反例,我至少有一个轶事数据点,其中异常比返回代码慢得多:那是在 Intel 硬件上好吧,但是对于 gcc 2.95 和一组非常大的代码和一个非常大的异常表,那是在第一次抛出异常时构造的。随后的异常很快,但到那时通常已经造成了损害。诚然,gcc 2.95 相当古老,但它应该足以提醒您对 C++ 异常处理的速度进行概括,即使在 Intel 硬件上也是如此。

关于C++ 返回值与异常性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3173772/

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