현재 저는 수백 개의 XML 파일을 읽어야하는 PHP 파일이 있습니다.이 XML 파일을 작성하는 방법에 대한 선택의 여지가 없으며 제 3자가 작성했습니다.PHP에서 여러 XML 파일 읽기 속도 향상
첫 xml 파일은 나머지 xml 파일에 대한 많은 양의 제목이므로 첫 xml 파일을 검색하여 나머지 xml 파일의 파일 이름을 얻습니다.
그런 다음 각 xml 파일의 특정 구문에 대한 값을 검색합니다.
이 프로세스는 실제로 느립니다. 나는 5 1/2 분 런타임을 말하는거야 ... 어느 웹 사이트에 대한 허용되지 않습니다, 고객은 오랫동안 머물 못해.
약 30 초의 최대 런타임까지 내 코드를 빠르게 할 수있는 방법을 아는 사람이 있습니까? 여기
내 코드의 페이스트 빈입니다 : 당신이 당신의 서비스에 대한 각 요청에 대해 큰 XML 파일을 처리해야하는 경우 ... 모든
나는 cachegrind.out을 가지고 있으며, 시간이 걸리는 부분은 SimpleXMLElement -> __로 구성한다. 평균 소요 시간은 1.98s이다. – Aaron
이것은 대부분 다운로드 시간이 될 것이다. 다운로드 및 xml 파싱을 분리하고, file_get_contents()를 사용하거나, gzip을 지원하기 위해 말리기를 시도하십시오. – goat
나는 다른 것을 구걸한다. 항상 다운로드 시간 만있는 것은 아닙니다. XML이 큰 경우 DOM/SimpleXML 사용의 경우 XML에서 DOM을 빌드하는 데 많은 시간과 메모리가 필요합니다. 따라서 대규모 XML 처리를 피할 방법이없는 경우 스트리밍 (XMLReader)/이벤트 기반 (SAX) 파서 만 선택할 수 있습니다. 그런 scenarious의 DOM은 잘 작동하지 않습니다. – cryo28