웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
++와 +=1 의 속도차이
2004.07.12 17:54
변수 $i를 가정하고
$i++ 과 $i+=1 은 $i를 1증가시키는 구문입니다.
과연 저 둘이 실제상황(?)에서 속도차이를 보일까 하는 의문에서
간단한 실험을 했습니다.
일단
for($i = 0; $i < 1000000; $i++); 와
for($i = 0; $i < 1000000; $i+=1); 를 따로 실행해서
마이크로초 단위로 실행시간을 계산해본 결과,
$i++ 일때
0.87869
0.859785
0.93886
0.882139
0.924311
0.872625
0.866393
0.890392
0.889265
0.866099
0.861506
0.880137
$i+=1 일때
0.928549
0.950968
0.995221
0.954347
0.941408
0.940832
0.957434
0.990631
0.936167
0.963263
0.966622
0.98165
백만번 루프에서 0.1초 이내의 차이가 나는것이 확인되었습니다.
아마도 파서에의해 번역될때,
++는 어셈블리 INC ecx 명령으로 번역되고,
+=1은 어셈블리 ADD ecx, 1 정도로 번역된다고 생각합니다.
저 둘의 처리 속도차이로 이와같은 결과가 생긴다고 생각되는군요. (;)
역시 크게 신경쓰문제는 아닐듯 합니다.
$i++ 과 $i+=1 은 $i를 1증가시키는 구문입니다.
과연 저 둘이 실제상황(?)에서 속도차이를 보일까 하는 의문에서
간단한 실험을 했습니다.
일단
for($i = 0; $i < 1000000; $i++); 와
for($i = 0; $i < 1000000; $i+=1); 를 따로 실행해서
마이크로초 단위로 실행시간을 계산해본 결과,
$i++ 일때
0.87869
0.859785
0.93886
0.882139
0.924311
0.872625
0.866393
0.890392
0.889265
0.866099
0.861506
0.880137
$i+=1 일때
0.928549
0.950968
0.995221
0.954347
0.941408
0.940832
0.957434
0.990631
0.936167
0.963263
0.966622
0.98165
백만번 루프에서 0.1초 이내의 차이가 나는것이 확인되었습니다.
아마도 파서에의해 번역될때,
++는 어셈블리 INC ecx 명령으로 번역되고,
+=1은 어셈블리 ADD ecx, 1 정도로 번역된다고 생각합니다.
저 둘의 처리 속도차이로 이와같은 결과가 생긴다고 생각되는군요. (;)
역시 크게 신경쓰문제는 아닐듯 합니다.
댓글 7
제목 | 글쓴이 | 날짜 |
---|---|---|
오늘의 명언을 출력해주는 함수 [10] | 김재경 | 2004.06.15 |
아이피 접근을 막고 메세지 출력하기.. [11] | ☺심심 | 2004.06.24 |
페이지에 암호를 걸자..=_= [27] | ☺심심 | 2004.06.25 |
파일업로드시 파일명 중복되지 않게 저장하기.. [8] | 페리 | 2004.06.28 |
서버가 느려졌을경우... [20] | 신상우 | 2004.06.28 |
<와 <=의 속도차이? [23] | 플로렐라 | 2004.07.07 |
++와 +=1 의 속도차이 [7] | 플로렐라 | 2004.07.12 |
히어닥 문법 활용 [14] | ☺심심 | 2004.07.13 |
트랙백 구현하기 - 3. PHP로 트랙백 핑 보내기
[4]
![]() | TheMics | 2004.07.18 |
트랙백 구현하기 - 4. PHP로 트랙백 핑 받기
![]() | TheMics | 2004.07.18 |
rand함수와 mt_rand함수의 비교 [6] | 심심타 | 2004.07.30 |
디비내용을 엑셀,워드,파워포인트 파일로 다운로드 시키는 방법 [13] | QQQ | 2004.07.30 |
php로 이미지를 mysql디비 저장하고 보여주는 소스 [2] | QQQ | 2004.07.30 |
IP 뒤에 두칸 글자 길이에 따라서 *로 나타내기 [13] | Sy-Tgt(stargt) | 2004.07.30 |
ISO 3166 국가코드로인한, 국가 검출소스 [4] | kein23 | 2004.08.04 |
파일업로드시 파일명 중복되지 않게 저장하기... [6] | 김지호 | 2004.08.06 |
PHP프로그램에 간단한 인증(로그인) 걸기. [15] | Lepas | 2004.08.09 |
접속자 IP 주소 텍스트로 저장 [7] | 천상원 | 2004.08.15 |
공유 메모리 제어에 관한 함수 정리 (공유메모리) [5] | Simsim | 2004.08.16 |
4. include, require 그리고 뽀나쓰~ [8] | 티다 | 2004.08.19 |