函数调用的数量对性能有多大影响?

GSt*_*Sto 2 php optimization

调用更多函数是否会产生任何明显的性能影响,或者是否试图减少函数调用的次数是一种毫无意义的过早优化?

简化示例:这之间是否有任何真实的性能示例:

function foo($var) {
    echo $var;
}
foo();
Run Code Online (Sandbox Code Playgroud)

还有这个:

function foo($var) {
   bar($var);
}

function bar($var) {
  baz($var);
}

function baz($var) {
  echo $var;
}

foo();
Run Code Online (Sandbox Code Playgroud)

RC.*_*RC. 7

这是不成熟的优化.根据您的域以及代码中任务的逻辑分离,您应该具有有意义的功能.我唯一一次考虑用内联代码替换一个函数是因为它是一个紧凑的循环而且一个分析器显示它是一个问题.

为了更直接地回答你的问题,对性能的影响取决于很多事情:

  1. 这个函数多久被调用一次?
  2. 它是否在代码的关键部分?
  3. 功能有多大?

决定某项功能是否属于功能应该由逻辑分离,清晰度,可维护性等驱动,而不是性能.


Pet*_*erK 6

始终先进行性能分析,然后再进行优化.

另一方面,函数调用确实有一些开销,但在决定优化函数调用之前,您应该真正地编写代码.