배열에 추가할 때 $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}}
    -
목록형 📷 갤러리형
제목
[기본형] HTML (with 부트스트랩5.3 , jquery 3.7, vue.js)
유용한 리눅스(LINUX) 명령어
[공지] 기술 게시판
4.28
4.29
4.30
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.11
5.12
5.13
5.14
5.15
5.16
5.17
5.18
5.19
5.20
5.21
5.22
5.23
5.24
5.25
5.26
5.27
5.28
5.29
5.30
5.31
6.1