PHP 的 try.catch 会不会影响程序的执行效率
展开全部
第一,当然会有影响。操作系统必须做出一些设置,这样才能在产生异常的时候进入到你的cache或者finally块里面。
第二,绝大多数情况下这不是你需要考虑的。加上try-cache也就是给你的代码增加了几个最多几十个cpu指令,除非这是在一个非常要求性能的场景中,否则你不应该考虑这几十个cpu指令引起的性能问题。你自己可以算一下你的cpu需要耗费多长时间来执行这些多出来的指令:假设每个指令需要2个指令周期(多数指令只需一个,少数需要更多),一个主频2g的cpu执行100个指令需要 100 *2/2*1024*1024*1024 秒。自己算算是多少吧。
类似的,在绝大多数场景下,你不应该让这些极其细微的性能差异来影响你的代码——相反的,你更应该考虑的是你的代码可读性。类似这些性能差异,你要操心的是你节省出来的那几个飞秒或者纳秒或者毫秒,是否值得你为此花这么多投入。
最后,性能优化的先后顺序永远是 网络——磁盘——内存或cpu。
第二,绝大多数情况下这不是你需要考虑的。加上try-cache也就是给你的代码增加了几个最多几十个cpu指令,除非这是在一个非常要求性能的场景中,否则你不应该考虑这几十个cpu指令引起的性能问题。你自己可以算一下你的cpu需要耗费多长时间来执行这些多出来的指令:假设每个指令需要2个指令周期(多数指令只需一个,少数需要更多),一个主频2g的cpu执行100个指令需要 100 *2/2*1024*1024*1024 秒。自己算算是多少吧。
类似的,在绝大多数场景下,你不应该让这些极其细微的性能差异来影响你的代码——相反的,你更应该考虑的是你的代码可读性。类似这些性能差异,你要操心的是你节省出来的那几个飞秒或者纳秒或者毫秒,是否值得你为此花这么多投入。
最后,性能优化的先后顺序永远是 网络——磁盘——内存或cpu。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询