gpt4 book ai didi

C# 实时 try catch

转载 作者:太空狗 更新时间:2023-10-29 20:06:32 25 4
gpt4 key购买 nike

我希望得到实际使用 C# 进行实时编程或真正了解语言内部结构的人的回复。

我知道异常不应该用来处理正常的处理,而只是用来检测错误情况。关于这个话题有很多讨论。

我想知道是否有任何运行时间减慢只是因为有一个 try/catch block (它永远不会捕获异常,除非程序无论如何都必须结束)。 try/catch block 位于必须重复调用的函数内。我怀疑成本很小。

能否根据 CPU 周期或其他任务(与浮点乘法相同的成本)或其他方式量化成本?

我们在windows XP下使用Microsoft C#.Net 3.5。

最佳答案

.NET 异常的开销成本非常非常低,除非它们被抛出。使用 try/catch block 对性能的影响非常小。我发现即使在非常快速、紧密的循环中,异常处理也几乎没有影响。

但是,.NET 中的异常在抛出时非常昂贵。如果你扔掉它们,它们往往会对性能产生比许多其他语言更大的影响。这是由于创建异常时收集到的完整堆栈信息等。

这与某些其他语言(例如 python)的行为相反,在这些语言中,异常处理的成本更高,但抛出实际上性能相当好。

但是,如果您担心,我建议您分析您的例程,然后自己测试。这是我在进行大量性能分析后的经验。在您自己的代码库中进行测量是不可替代的。

关于C# 实时 try catch ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1347848/

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