在研究PHP 7及其变化和性能时,我遇到了一个PHP 5中比PHP 7更快的函数:metaphone()
。我测试的所有其他功能在PHP 7中都要快得多。
我找不到任何关于此的信息,似乎没有人遇到过这个问题,这让我觉得问题就在我的最后(服务器配置或其他什么)。但是,据我所知,两个PHP版本的配置文件(php.ini)是相同的(都是x86)。
我在IIS中使用PHP 5和PHP 7运行以下脚本:
<?php
$str = "test";
$count = 1000000;
$time_start = microtime(true);
for ($i=0; $i < $count; $i++) {
metaphone($str);
}
echo 'Seconds: ' . number_format(microtime(true) - $time_start, 2);
结果:
PHP 5.5.30: 0.97 秒
PHP 7.0.0: 2.98 秒
我希望有人可以在他们的服务器上测试这个。如果得到相同的结果,为什么PHP 7在这种情况下比PHP 5慢?如果没有,我可能会遇到什么问题?
修改
我刚才注意到PHP 7中的函数strtoupper()
和strtolower
也比PHP 5中慢。