Я пытаюсь оптимизировать функцию, которая вызывается 560x во время выполнения запроса.
Это функция (некоторая информация удалена):
function foo($text) {
if (preg_match('/[`"]/', $text)) {
throw new Exception("very detailed error");
}
$text = explode('.', $text);
$tick = '*';
return $tick . implode("$tick.$tick", $text) . $tick;
}
Использование XDEBUG PHP profiler + Webgrind, я вижу, что эта статистика (в миллисекундах) для этой функции:
As you can see, only 3ms is spent in preg_match
, explode
, implode
combined. The other 20ms is spent just invoking these functions and concatenating some string. Is there a way I can reduce the total self cost of this function?
I have tried adding
use function preg_match;
use function explode;
use function implode;
as suggested здесь , но никаких улучшений не увидел. Есть предложения?