PHP中的函数执行时间第二次减少了很多

时间:2018-08-03 10:39:18

标签: php function profiling loading

我正在使用php 7.1.0。我正在基准测试的脚本是这样的:

$myclass = new MyClass();

$t1 = microtime(true);
myfunction();
echo microtime(true)-$t1;

$t2 = microtime(true);
myfunction();
echo microtime(true)-$t2;

结果是:

  

第一次〜30毫秒
  第二次〜0.7毫秒。

这不仅对第二次有效,而且对随后的第二次有效。

我要问的是为什么第一次执行和随后的执行之间有这样的区别。我认为将函数加载到内存中是一个问题,一旦加载就应该恢复,但我还认为〜30ms对于将函数加载到内存中来说太长了。

其他信息:

  • myfunction 具有一个 $ options 数组作为输入并返回分配的对象。
  • 它也具有静态功能,首次提高了6ms。以下时间几乎相同。
  • 脚本使用作曲家自动加载功能加载类。
  • php引擎和apache2服务器安装在嵌入式卡上,处理器:4x Cortex-A9 @ 800MHz和RAM:2GB DDR3-1066MHz。

谢谢

0 个答案:

没有答案