2018年5月16日

过度依赖异常处理机制,可能导致性能问题

《Head First Python》的异常处理一节,推荐了一种编程风格:让异常发生,再恢复;不要提前加入判断逻辑。

主要好处如下:

  1. 可以让你关注代码真正需要做的工作
  2. 可以避免向程序增加不必要的代码和逻辑,降低复杂性

但是,它并没有提到依赖异常处理机制可能导致的性能问题(大概因为这是入门书吧)。

经过测试,try/except 机制的运行时长大概是直接加入判断逻辑的 10 倍。在超大规模计算量的情况下,会导致严重的性能问题。

对比截图如下:

 

结论:涉及大规模计算时,慎用异常机制。异常,主要用来处理小概率事件,如果你知道某个特殊事件发生的概率很大,就直接写到判断逻辑里好了。

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注

错误:您的PHP不支持GD图像!

联系您的主机商,询问PHP支持GD图像的问题.

错误:您的PHP不支持imagepng函数!

联系您的主机商,询问PHP支持imagepng函数的问题.