多次调用函数或使用循环调用它,哪个更快?

时间:2015-01-09 13:00:18

标签: php runtime function-call

我需要多次调用一个函数getCount($stage)(比如15,因为$ stage的值可以是0到14)。哪种方法更快:

for ($i=0; $i<15; $i++)
{
  getCount($i);
}

OR

getCount(0);
getCount(1);
.
.
.
getCount(14);

我正在处理的当前页面有类似的情况。它使用第二种方法,缺乏可读性。我期待将其改为第一种方法。在运行时方面会有任何优势或劣势吗?哪种方法会更快?

3 个答案:

答案 0 :(得分:1)

我不会担心为此使用循环。使用for循环将获得两个主要好处。

  1. 您可以动态更改调用函数的次数,因为次数不是硬编码的。
  2. 您可以获得更易于维护的代码,以便轻松识别其执行的操作。
  3. 当您使用像for循环这样的语言结构时,性能明显最低。因此,我希望在非常非常小的性能提升下更容易阅读和更易维护的代码(如果客户端甚至可以注意到的话)

    问候。

答案 1 :(得分:0)

<强> Theorically 第一种方法应该更慢,因为有一些添加的检查和变量。考虑一下,准确地知道php解释器内部发生了什么以及实现了哪种优化是很困难的,所以这可能不是真的,但这并不重要因为...

<强> Pratically 它是一样的,一个循环的性能损失是如此之小,如果你没有做某种极端高性能计算的东西(在PHP?!),这两种方法都是完全相同的速度方式。

答案 2 :(得分:-1)

他们都很相似。一个只需占用更多代码。