多次调用一个函数和循环调用哪个更快?
Calling a function multiple times or call it using loop, which is faster?
我需要多次调用函数 getCount($stage)
(比如 15 次,因为 $stage 的值可以从 0 到 14)。哪种方法更快:
for ($i=0; $i<15; $i++)
{
getCount($i);
}
或
getCount(0);
getCount(1);
.
.
.
getCount(14);
?
我正在处理的当前页面有类似的情况。它使用第二种方法,缺乏可读性。我期待着将其更改为第一种方法。在运行时方面会有什么优势或劣势吗?哪种方法会更快?
他们都很相似。一个只是占用更多的代码行。
我不会担心为此使用循环。您将获得使用 for
循环的两个主要好处。
- 您可以动态更改调用函数的次数,因为次数不是硬编码的。
- 您将获得更易于维护的代码,这些代码很容易识别其功能。
当您使用像 for
循环这样的语言结构时,性能方面的影响很小。所以我宁愿更容易阅读和更易于维护的代码,而不是非常非常小的性能提升(如果它甚至被客户注意到)
此致。
理论上
第一种方法 应该 更慢,因为有一些额外的检查和变量。考虑到很难确切知道 php 解释器内部发生了什么以及进行了什么样的优化,所以这甚至可能不是真的,但这并不重要,因为...
实用
这是一样的,循环的性能影响是如此之小,以至于如果你不做某种极端高性能计算的东西(在php?!)这两种方法在速度方面是完全等效的。
我需要多次调用函数 getCount($stage)
(比如 15 次,因为 $stage 的值可以从 0 到 14)。哪种方法更快:
for ($i=0; $i<15; $i++)
{
getCount($i);
}
或
getCount(0);
getCount(1);
.
.
.
getCount(14);
?
我正在处理的当前页面有类似的情况。它使用第二种方法,缺乏可读性。我期待着将其更改为第一种方法。在运行时方面会有什么优势或劣势吗?哪种方法会更快?
他们都很相似。一个只是占用更多的代码行。
我不会担心为此使用循环。您将获得使用 for
循环的两个主要好处。
- 您可以动态更改调用函数的次数,因为次数不是硬编码的。
- 您将获得更易于维护的代码,这些代码很容易识别其功能。
当您使用像 for
循环这样的语言结构时,性能方面的影响很小。所以我宁愿更容易阅读和更易于维护的代码,而不是非常非常小的性能提升(如果它甚至被客户注意到)
此致。
理论上 第一种方法 应该 更慢,因为有一些额外的检查和变量。考虑到很难确切知道 php 解释器内部发生了什么以及进行了什么样的优化,所以这甚至可能不是真的,但这并不重要,因为...
实用 这是一样的,循环的性能影响是如此之小,以至于如果你不做某种极端高性能计算的东西(在php?!)这两种方法在速度方面是完全等效的。