블로그 이미지
루미넌스
There are only 10 types of people, those who understand binary and those who do not.

calendar

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
2006/11/02 23:23 Dev 노트
링크타고 헤메다가 기선님의 블로그에 우연히 들어가서 이와 같은 주제의 자바 실험을 봤다.
이거 학생때나 하던 실험인데, 내가 점점 기본을 등한시 한다는 생각이 문득 들었다.
자바는 기선님이 실험 하셨으니.. 1년은 안만진 C에서 어떻게 돌아가나 실험해 보았다.

우선 추측..
gcc를 위시한 대부분의 C compiler는 i++, ++i, i=i+1 세개의 statement를 동일하게 컴파일해 낸다.
다만 evaluation되는 값을 STOR instruction의 위치를 ADD위에 두느냐 아래에 두느냐만 달라진다.
따라서 세가지 모두 같은 시간을 소모할 것이다.

실험결과 일부는 맞고 일부는 틀렸다;; 나도 녹슬었다..ㅠㅠ
컴파일러의 행동을 예측하지 못한단 말인가..ㅡㅡ;;

우선 실험에 사용한 급조 C코드를 보자.

t.c보기



결과는 이렇다.



별 차이가 없는건 예상대로다..
혹시나 싶어 컴파일만 시켜봤다.

이 c 코드를 gcc는 이러한 어셈으로 번역한다.


Creative Commons License
posted by 루미넌스