私は自分のコードをphpでプロファイリングしています。質問は次の機能についてです:
// returns true if edge exists in the tree
protected function edgeExist( $srcNodeId, $firstToken ) {
$result = array_key_exists( $srcNodeId, $this->edges )
&& array_key_exists( $firstToken, $this->edges[$srcNodeId]);
return $result;
}
プロファイラーによると、関数edgeExist
は実行時間の約10%を消費しますが、関数は実行時間array_key_exists
の約0.2%を消費します。なぜ関数はedgeExist
そんなに多くを消費するのですか?