2015-01-09 33 views
-4

我需要多次调用函数getCount($stage)(比如15,因为$ stage可以有0到14的值)。哪种方法速度快:多次调用函数或使用循环调用它,速度更快?

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

OR

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

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

+0

为什么不检查你的自我? http://stackoverflow.com/a/9288945/1723893 –

+0

为什么不测试它?,它不像你不能或什么的,但对我来说,做第一种方法似乎更容易,因为你不必复制粘贴你的功能然后编辑参数。 – Neat

+1

如果这是时间敏感的,它将在getCount()内大部分运行花费时间;循环与内联调用之间的任何差异都将变得微不足道。 –

回答

1

我不会在意为此使用循环。您将获得使用for循环的两个主要优点。

  1. 您可以动态更改函数被调用的次数,因为次数不是硬编码的。
  2. 您可以获得更易维护的代码,可以很容易地识别它的功能。

当您使用语言结构(如for循环)时性能明智,性能最低。所以我宁愿更容易阅读和更可维护的代码在非常非常小的性能提高(如果它甚至引起客户的注意)

问候。

-1

它们都是相似的。一个只占用更多的代码行。

0

Theorically 第一种方法应该慢,因为有一些额外的检查和变量。考虑到这是difficoult确切地知道PHP的intepreter什么优化样到位里面发生了什么,所以这甚至不是真的,但是这并不是因为许多重要...

Pratically 这是同样,循环的性能受到的影响非常小,以至于如果你没有做某种极高性能计算的东西(在php ?!中),两种方法在速度上完全相同。