HACKISH C++ GAMES & DEMO 중에서... 최적화 규칙.

제1규칙.
최적화에 성역은 없다. 이미 빠르게 돌아가고 있는 것도 더 빠르게 만들 수 있다.

제2규칙.
병목을 찾아낸 후에 최적화 작업을 시작하라.

제 3규칙.
모든 연산을 분해해서 연산이 반복되는 부분을 찾아라. 그 부분을 먼저 최적화 해야한다.

제4규칙.
한 번 실행할 연산을 최적화하는 것은 시간낭비다.
가끔 실행할 연산을 최적화하기 전에 정말 필요한 것인지 잘 생각해보자.

제5규칙.
컴퓨터 내부구조와 동작방식을 최대한 많이 배워라.(모바일 이라면 모바일 운영체제의 동작방식과 프로세서의 동작방식 이겠지...) 컴퓨터에서 코드가 어떻게 실행되는지 더 많이 알수록 최적화는 시워진다.

제6규칙.
어려운 계산은 실시간으로 하지 말고, 미리 해서 표에 기록해 놓고 필요 할 때 참조하자.(예로 둠 처럼...)

제7규칙.
검사는 아무리 해도 지나치지 않는다.

제8규칙.
최적화에 너무 몰두 하지 말자. 성능 향상에 쏟아부은 시간과 노력만큼의 결과가 나오지 않을 수도 있다.
현실적인 목표를 정하자. 적당한 시간 내에 바람직한 수준으로 최적화하지 못한다면, 시간을 무한정으로 쏟아부을 필요는 없다. 문제를 다른 방식으로 해결할 수 없는지 살펴보자.

제9규칙.
컴파일러 최적화기를 믿지 마라.
소스코드 자체가 최적화돼 있지 않으면 어떤 자동 최적화기도 더 개선할 수 없다.
성능을 개선하려면 로직을 먼저 최적화해야 되고 무엇보다 루프를 먼저 최적화해야 한다.
소스코드에 손수 최적화할 부분이 없을 때나 자동 최적화를 사용해야 할 것이다.
컴파일러 최적화기가 생성한 이진 코드는 꼭 테스트하자.
최적화 과정에서 성능이 떨어지는 일도 있기 때문이다.

HACKISH C++ GAMES & DEMO 중에서... 발췌.
마이클 플레노프.

Game Developer Leegoon copyright all right reserved since 2010.

Comments

  1. Howdy! Quick question that's entirely off topic. Do you know how to make your site mobile friendly? My blog looks weird when browsing from my apple iphone. I'm
    trying to find a template or plugin that might be able to
    fix this issue. If you have any suggestions, please share.

    With thanks!

    My website; Online Batman Games

    ReplyDelete

Post a Comment

덧글쓰기 기능 있는거 아시죠? ㅋㅋ