본문으로 바로가기

소스만 보고 성능을 비교할 수 있을까?   

C 언어 서적을 보다 보면 증감 연산자 부분에서 강조하는 다음과 같은 이야기가 있다.

"i++가  i += 1 혹은  i = i + 1 보다 성능이 더 좋다."

과연 이 이야기는 맞는 것일까?
답은 "아니다" 이다.    

위의 이야기에 나온 내용을 소스로 구현하고 컴파일 후 디스어셈블리로 보면 위 3가지 경우가 모두 같은 3줄의 어셈블리 소스로 구현되어 있고 결과적으로 성능에는 전혀 차이가 없다는 것을 알 수 있다.