배열에 추가할 때 $array[] 와 array_push() 의 성능차이

제목

배열에 추가할 때 $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()로 추가하는것 보다 빠르다.

 

댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
제목 작성자 날짜
공대여자
공대여자
mins01
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자
공대여자