조회 : 398
제목
배열에 추가할 때 $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) 명령어 |
[공지] 기술 게시판 |
일 |
월 |
화 |
수 |
목 |
금 |
토 |
---|---|---|---|---|---|---|
6.2
|
6.3
|
6.4
|
6.5
|
6.6
|
6.7
|
|
6.8
|
6.9
|
6.10
|
6.11
|
6.12
|
6.13
|
6.14
|
6.15
|
6.16
|
6.17
|
6.18
|
6.19
|
6.20
|
6.21
|
6.22
|
6.23
|
6.24
|
6.25
|
6.26
|
6.27
|
6.28
|
6.29
|
6.30
|
7.1
|
7.2
|
7.3
|
7.4
|
7.5
|