>> Edit article
이름
제목
패스워드
주)**********오해의 소지를 없애기 위해서************** 함수 테스트에 약간의 어패가 있습니다. 즉, 하나의 함수에 대해서 그렇게 많이(100만 이상) 사용하지 않기 때문에 정확한 테스트는 아닙니다. 다만, 똑같은 기능을 하는 함수는 여러개 존재할 수 있는데, 자신이 만든 함수중 최적의 함수를 선택하는 하나의 방법일 뿐입니다. 저 같이 함수를 개념없이 만들다 보니 여러개의 비슷한 함수가 나오더군요. 한번 실행시 거의 차이가 없지만 비교적 덩치가 큰 함수라면 한번 생각해 볼만한 문제인것 같습니다. [테스트 환경] -OS : 레드햇 6.2 (2.2.16) -CPU : K6-3 400 -MEM : 128 M -HDD : SCSI 2.1G *2 -APACHE : 1.3.12 -PHP : PHP/4.0.1pl2 + Zend Optimizer v0.99 [테스트 PHP 스크립트] <? $sum = 0; for($n=1;$n<=10; $n++) { // 10번 테스트한다. $start[$n] = microtime(); for($i=0; $i<=20000; $i++) { // 2만회 루프를 돌린다. 수정요함 // HDay_Others(0,1); HDay(0,1); // 여기에 테스트할 함수를 입력한다. 예제는 HDay()함수 // File_HSize_Others($i,1); // File_HSize($i,1); } $end[$n] = microtime(); $result[$n] = get_microtime($start[$n],$end[$n]); echo "$result[$n]<br>"; $sum = $sum+$result[$n]; } $avg = $sum/10; echo "<p>합계 :$sum 초"; echo "<br>평균: $avg 초"; 그럼 본격적으로 제가 만든 함수인 - Hday() VS Hday_Others() - File_HSize() VS File_HSize_Othres() 를 속도 테스트 해 봅시다. [ Hday() VS Hday_Others() VS Hday_s() ] 누구나 짐각적으로 보더라도 Hday()함수가 더 빠르다는것을 알 수 있을 것입니다. 만회 루프를 돌리는 회수를 10회한 결과 역시 Hday()함수가 약 1.5초 정도 빨랐습니다.... 미세한 차이이지만 그래도 Hday()함수가 더 빠르다는것을 알 수 있습니다. Hday(0,1)의 결과 : 0.54 0.54 0.55 0.54 0.55 0.54 0.55 0.55 0.54 0.55 합계 :5.45 초 평균: 0.545 초 Hday_Others(0,1)의 결과 : 1.96 1.95 1.95 1.95 1.96 1.95 1.95 1.95 1.94 1.94 합계 :19.5 초 평균: 1.95 초 Hday_s(0,1)의 결과 : 0.58 0.57 0.57 0.57 0.57 0.57 0.57 0.57 0.57 0.57 합계 :5.71 초 평균: 0.571 초 [ File_HSize() VS File_HSize_Othres() ] 이번에 파일크기를 휴먼싸이즈로 출력하는 함수를 비교해 보았습니다. 솔직히 작년에 만들어 놓은 함수인데 제가 개념없는 초보자이다보니 이제서야 그 결과를 알 수 있었네요... 어제 File_HSize_Othres() 함수는 "작은 것이 아릅답다"라는 논리(?)에 의해서 테스트겸 만들어 보았는데 엉뚱한 결과를 초래하더군요... 이글을 쓰게 된 배경도 바로 이점 때문입니다. File_HSize($i,1)의 0에서 3만까지 10회 결과 : 1.82 1.83 1.83 1.82 1.83 1.83 1.83 1.80 1.84 1.81 합계 :18.24 초 평균: 1.824 초 File_HSize_Others($i,1)의 0에서 3만까지 10회 결과 : 2.01 2.02 2.03 2.02 2.01 2.01 2.01 2.01 2.02 2.03 합계 :20.17 초 평균: 2.017 초 거의 차이가 없지만 그래도 전자가 조금 더 빠르다는걸 짐작할 수 있습니다. [끝으로] 지금까지 별 문제거리도 아닌것 갖고 주절주절 대 봤습니다. 다만, 함수를 공부하시는 분이나, 알고리듬에 자신이 없는 초보자님께 함수 선택에 있어서 조금이라도 도움이 되었으면 합니다.. ......이상입니다. -- ..
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved