为什么PHP4.3中的bcmath比PHP5快得多;?

为什么PHP4.3中的bcmath比PHP5快得多;?,php,performance,bcmath,Php,Performance,Bcmath,决定运行一个快速测试,看看bcmath如何在不同版本的PHP上运行,并注意到与4.3相比,最新和最好的版本在速度上明显不足 我想知道是否有人知道这背后的原因,和/或如何在5+上提高速度,使其与4.3相当 还要注意,5.6+的内存消耗是4.3相同操作所需内存消耗的三倍: 速度并不快。您看到的图表不仅包括bcmath调用,还包括启动和关闭开销 $start = microtime(true); for ($i = 0; $i < 1000; ++$i) { bcdiv(40075036

决定运行一个快速测试,看看
bcmath
如何在不同版本的PHP上运行,并注意到与4.3相比,最新和最好的版本在速度上明显不足

我想知道是否有人知道这背后的原因,和/或如何在5+上提高速度,使其与4.3相当

还要注意,5.6+的内存消耗是4.3相同操作所需内存消耗的三倍:


速度并不快。您看到的图表不仅包括
bcmath
调用,还包括启动和关闭开销

$start = microtime(true);
for ($i = 0; $i < 1000; ++$i) {
    bcdiv(40075036, 86164.098903691, 40);
}

echo microtime(true) - $start;
$start=microtime(真);
对于($i=0;$i<1000;++$i){
bcdiv(4007503686164.098903691940);
}
回波微时间(真)-$start;
此代码段将测量
bcdiv
性能:

正如你所看到的,性能几乎是一样的


注意:您可以看到这些数字非常小,这意味着您不能完全信任它们,您应该了解机器上的任何额外负载都会影响测试结果。

如果您读取顶部(图表部分)的水流,起伏表明它不是累积的。每个版本都根据自己的
microtime()
和该版本所需的内存进行计算。请注意5.1.4-5.1.6和5.4中的下拉列表,但请注意,对于空文件,图形具有相同的形状。所以你不认为是启动时间增加了,而不是执行时间增加了吗?与@zerkms-Agreed相比,php总体上的基本内存使用率有所降低和增加,而不是特定的函数。-根据您的测试,PHP5.5.9比PHP4.3.0慢4倍,占用的基本内存是PHP4.3.0的4倍。好的,这解释了特定的函数
bcdiv
,但是,启动会带来什么?模块发生了变化,变得更快,内存消耗更少——至少这是假设。@Sanuel Jackson:我们不知道它们实际上是如何运行和测量的。因此,基于他们的数字是推测性的。我也可以验证PHP5.5的启动(至少)需要大约0.04秒的初始化时间(本地测试)——还有,这里有一个公共测试>>