앞서 언급했듯이 속도에 영향을 미치는 코드를 찾아서만 최적화할 수 있습니다. PEAR 벤치마크 패키지의 Benchmark_Timer 클래스와 Benchmark_Iterate 클래스를 사용하면 스크립트 실행 속도를 쉽게 테스트할 수 있습니다. (PEAR 설치 및 구성에 관한 관련 내용은 직접 확인하시기 바랍니다.)
먼저, Benchmark_Iterate 클래스를 사용하여 프로그램에 있는 클래스의 특정 함수나 메서드의 실행 시간을 테스트합니다.
benchmark1.php
require_once('Benchmark/Iterate.php');
$benchmark = new Benchmark_Iterate();
$benchmark->run(10, 'myFunction','test');
$result = $benchmark->get();
echo "
"; print_r($result);
";
종료;
함수 myFunction($var) {
//뭔가를 해라
에코 '안녕하세요';
}
?>
벤치마크 Iterate 객체 $benchmark를 생성합니다. 이 객체는 myFunction 함수를 10번 실행하는 데 사용됩니다.
$argument 변수는 매번 myFunction에 전달되며, 여러 번 실행한 분석 결과는 $result에 저장되며, 벤치마크 객체의 get() 메서드를 사용하여 가져옵니다. 이 결과는 print_r()을 사용하여 화면에 출력됩니다. 일반적으로 출력은 다음과 같습니다.
Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello
배열
(
[1] => 0.000427 [2] => 0.000079 [3] => 0.000072 [4] => 0.000071 [5] => 0.000076 [6] => 0.000070 [7] => 0.000073 [8] => 0.0 00070 [ 9 ] => 0.000074 [10] => 0.000072 [평균] => 0.000108 [반복] => 10)
myFunction이 실행될 때마다 벤치마크 개체는 실행 시간을 추적합니다. 그리고 평균 실행 시간([평균] 라인)이 계산됩니다. 대상 함수를 여러 번 실행하면 함수의 평균 실행 시간을 얻을 수 있습니다.
실제 테스트에서는 함수의 개수가 최소 1,000번 이상이어야 보다 객관적인 결과를 얻을 수 있습니다.