나는 PHP로 내 코드를 프로파일 링하고있다. 프로파일 러에 따르면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
기능이 그렇게 많이 소비되는 이유는 무엇입니까?
가'isset'를 사용해보십시오, 그것은 * * 빠른 array_key_exists''보다 수 있습니다. 예 :'$ result = isset ($ srcNodeId [$ this-> edges]) && isset ($ firstToken [$ this-> $ this-> edges [$ srcNodeId]])'. –
하지만 어쨌든'array_key_exists'는 충분히 빠르며, 실행 시간의 0.2 %를 소비합니다. 'edgeExist'가 왜 그렇게 많이 소비하는지 이해할 수 없습니다. – ashim