私は (高度に最適化されたバージョンの) CakePHP 2.3 を使用しており、私のアプリケーションは非常に遅いハードウェア (300MHz ARM) で実行されているため、可能な限り最適化を続けています。フレームワークの 1 つのメソッドは非常に頻繁に呼び出され、それほど高速ではありません (~1-5 ミリ秒) が、(出力を変更せずに) それを改善する方法を思いつきません - 合計で、合計時間の ~10% をこの方法:
public static function normalizeObjectArray($objects) {
$normal = array();
foreach ($objects as $i => $objectName) {
$options = array();
if (!is_int($i)) {
$options = (array)$objectName;
$objectName = $i;
}
list(, $name) = pluginSplit($objectName);
$normal[$name] = array('class' => $objectName, 'settings' => $options);
}
return $normal;
}
これをスピードアップする方法を知っている人はいますか?
pluginSplit
プロファイラーには、呼び出しの 1 つに対して次の出力があります。この質問を改善する方法を既に尋ねました:
(プロファイリングは通常の実行よりも約 10 ~ 15 倍遅くなります)
それis_int
は遅いですか、それとも「失われた」時間はどこにありますか?