我正在尝试在执行请求期间优化称为 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,我看到这个函数的这些统计信息(以毫秒为单位):
如您所见,在preg_match
, explode
, implode
combined中只花费了 3ms 。剩下的 20 毫秒只用于调用这些函数并连接一些字符串。有没有办法可以降低此功能的总自身成本?
我试过添加
use function preg_match;
use function explode;
use function implode;
正如这里所建议的那样,但我没有看到任何改进。有什么建议么?