웹마스터 팁
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
제목 | 글쓴이 | 날짜 |
---|---|---|
정말 멋있는 글자 변환 스크립트 [12] | sythesis | 2003.11.07 |
자바스크립트로 작성한 그림맞추기 퍼즐게임 [2] | 김별 | 2003.11.05 |
자바스크립트로 윈도우 흉내내기 (?) [15] | 뒹굴리스트 | 2003.11.03 |
[초간단 자바스크립트!] 이미지 드래그하기..~~ [8] | ∑Ztxy | 2003.11.02 |
마우스 이벤트 발생시 문서 상,하단으로 이동 [3] | RedEye(kaist) | 2003.10.30 |
클릭하면 홈페이지를 시작페이지로 하는 소스... [7] | 젤군 | 2003.10.28 |
식대 계산기... ^^ [3] | 김주형 | 2003.10.27 |
더 이상의 필터링은 없다!!! [10] | 미친개 | 2003.10.26 |
[초간단 자바스크립트!] 자바로 플래시 따라하기! [3] | ∑Ztxy | 2003.10.15 |
스물을 세면 죽음이야~~~ [20] | 미친개 | 2003.10.14 |
[초간단 자바스크립트!] 트랜지션 공지사항!! | ∑Ztxy | 2003.10.13 |
플래시 크기 바꾸기 [IE/NS 겸용] [4] | teslaMINT | 2003.10.13 |
새창 띄운후 부모창 확인없이 닫기... [4] | PHASE | 2003.10.12 |
개판 오분전 - 이미지 뷰에 관한 한가지 힌트 [5] | 미친개 | 2003.10.11 |
[초간단 자바스크립트!] 날짜 카운터! 커플홈에 강추!! [15] | ∑Ztxy | 2003.10.08 |
개판 오분전 만년달력......ㅡ,.ㅡ [4] | 미친개 | 2003.10.08 |
게시판 스킨에 프린트 버튼 추가하기 [3] | PHASE | 2003.09.30 |
[초간단 자바스크립트!] 홈페이지에 FTP 폼 넣기?! [10] | ∑Ztxy | 2003.09.29 |
[초간단 자바스크립트(강의)!] 입력박스에 입력한 주소로 이동하기... | ∑Ztxy | 2003.09.27 |
[초간단 자바스크립트(강의)!] 풀스크린 창 띄우기... [3] | ∑Ztxy | 2003.09.27 |