Introduction

코드 리뷰를 하다가 if문이 많을 수록 코드 분석을 더 힘들게 한다는 사실을 알게 되었다. 그러던 중 if문을 고의로 없애버리는 코드를 작성하기 시작했는데, 문득, 성능도 더 좋을까? 라고 생각하는 찰나에 테스트 코드를 만들고 테스트 해보았다.

content

하는 일은 같으나, 한쪽은 if문이 있고, 한쪽은 if문이 없다. 하는 일은 현재 나이를 저장한 변수가 초기화 나이까지 되었을 때, 0으로 리셋 해 주는 일이다.


실제로 case1 이 코드가 더 깔끔하나, 실제 속도는 case2가 case1보다 8배 정도 빠르다. 어셈블리 코드로 연산은 if문보다 %= 연산이 2개 더 많지만, 연산 자체가 시간을 더 많이 먹다 보니 느리다.

digression

.. 너무 고집스럽게 if문을 없애기 보다는 비용을 생각하며, 코드를 구성 시키는게 더 좋겠다.

posted by 농사를 짓는 게임 프로그래머 최익필
TAG

댓글을 달아 주세요

  1. 지나가다 2010.06.02 14:38  Addr  Edit/Del  Reply

    제가보기엔 if때문이 아니라 %연산 때문인거 같군요 .. mod연산은 항상 느립니다 ..