조회 : 133
제목
배열에 추가할 때 $array[] 와 array_push() 의 성능차이
--------------------------------------------------------------------------------
소스
--------------------------------------------------------------------------------
<?
$m = 1000000;
$arr0 = array();
$arr1 = array();
$at0 = explode(' ',microtime());
$t0 = (float)$at0[0]+(float)$at0[1];
//print(sprintf('%.5f',$t0)."\n");
for($i0=0;$i0<$m;$i0++){
$arr0[] = $i0;
}
$at0 = explode(' ',microtime());
$t1 = (float)$at0[0]+(float)$at0[1];
for($i1=0;$i1<$m;$i1++){
array_push($arr1,$i1);
}
$at0 = explode(' ',microtime());
$t2 = (float)$at0[0]+(float)$at0[1];
for($i1=0;$i1<$m;$i1++){
array_push($arr1,$i1);
}
$at0 = explode(' ',microtime());
$t3 = (float)$at0[0]+(float)$at0[1];
for($i0=0;$i0<$m;$i0++){
$arr0[] = $i0;
}
$at0 = explode(' ',microtime());
$t4 = (float)$at0[0]+(float)$at0[1];
print("\$array[]로 배열에 추가\t\t :".sprintf('%.5f',($t1-$t0))."\n");
print("array_push()로 배열에 추가\t :".sprintf('%.5f',($t2-$t1))."\n");
print("array_push()로 배열에 추가\t :".sprintf('%.5f',($t3-$t2))."\n");
print("\$array[]로 배열에 추가\t\t :".sprintf('%.5f',($t4-$t3))."\n");
?>
--------------------------------------------------------------------------------
결과
--------------------------------------------------------------------------------
1회
$array[]로 배열에 추가 :1.25854
array_push()로 배열에 추가 :1.65859
array_push()로 배열에 추가 :1.59301
$array[]로 배열을에 추가 :1.27778
2회
$array[]로 배열에 추가 :1.18767
array_push()로 배열에 추가 :1.59643
array_push()로 배열에 추가 :1.49613
$array[]로 배열에 추가 :1.17999
3회
$array[]로 배열에 추가 :1.18817
array_push()로 배열에 추가 :1.59645
array_push()로 배열에 추가 :1.50308
$array[]로 배열에 추가 :1.17620
4회
$array[]로 배열에 추가 :1.19001
array_push()로 배열에 추가 :1.60296
array_push()로 배열에 추가 :1.50168
$array[]로 배열에 추가 :1.19235
평균
$array[]로 배열에 추가 시 평균 :1.20633875
array_push()로 배열에 추가 시 평균 :1.56854125
--------------------------------------------------------------------------------
결론
$array[] 로 배열에 추가하는 것이 array_push()로 추가하는것 보다 빠르다.
제목 | 작성자 | 날짜 |
---|---|---|
공대여자 | ||
공대여자 | ||
mins01 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 |