조회 : 138
제목
배열에 추가할 때 $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()로 추가하는것 보다 빠르다.
제목 |
---|
[기본형] 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
|