조회 : 509
제목
배열에 추가할 때 $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) 명령어 |
| [공지] 기술 게시판 |
일 |
월 |
화 |
수 |
목 |
금 |
토 |
|---|---|---|---|---|---|---|
|
11.30
|
12.1
|
12.2
|
12.3
|
12.4
|
12.5
|
12.6
|
|
12.7
|
12.8
|
12.9
|
12.10
|
12.11
|
12.12
|
12.13
|
|
12.14
|
12.15
|
12.16
|
12.17
|
12.18
|
12.19
|
12.20
|
|
12.21
|
12.22
|
12.23
|
12.24
|
12.25
|
12.26
|
12.27
|
|
12.28
|
12.29
|
12.30
|
12.31
|
1.1
|
1.2
|
1.3
|