Исследуя PHP 7 и его изменения и производительность, я наткнулся на функцию, которая быстрее в PHP 5, чем в PHP 7: metaphone()
. Каждая другая функция, которую я тестировал, была значительно быстрее в PHP 7.
Я не могу найти какую-либо информацию по этому поводу, и кажется, что никто не сталкивался с этим, что заставляет меня думать, что проблема на моем конце (конфигурация сервера или что-то). Тем не менее, насколько я вижу, файлы конфигурации (php.ini) для обеих версий PHP одинаковы (обе 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? Если нет, в чем может быть проблема с моей стороны?
РЕДАКТИРОВАТЬ:
Я просто заметил функции strtoupper()
а также strtolower
также медленнее в PHP 7, чем в PHP 5.
Задача ещё не решена.
Других решений пока нет …