본문 바로가기
NOTE/Unity

[Unity] 유니티 프로그래머가 알아야할 최적화 코드 작성법 (펌)

by DevAthena 2017. 3. 31.

요약 정리 : 원문


1. Loop

Foreach는 속도도 느리고, 가비지도 남긴다.

Enumerator는 Foreach보다 빠르게 동작햇으며

For는 Enumerator의 2배나 빠르게 동작한다.

즉 결론으로는 For문이 젤 낫고 그렇지 않으면 Enumerator가 낫다.


2. Parse

Tostring() / System.Conver.ToString() / Int.Parse / int.TryParse 

int -> string은 작성자의 입맛에 따라, string -> int 는 tryParse가 낫다.


3. String concat

+ 연산자 / string.Concat / StringBuilder

StringBuilder가 속도도 좋고 가비지도 가장 적게 남긴다.


4. CallBack

System.Action / System.Func<T>

빈 delegate를 작성하지 말자.

소스코드의 안정성과 속도를 위해 callback을 받는 부분에선 무조건 null체크를 하고, null을 인자로 작성한다.


5. transform caching

transform에 자주 접근하게 되는 객체에선 caching은 선택이 아닌 필수다. 


6. string compare 

string.Compare / string.CompareTo / Equals / Operator / Hash Operator

Operator > HashOperator > Equals > CompareTo > Compare 

오... 의외다... 오.... 나는 Equals를 사용하는걸 권장받았는데

근데 글쓴이도 연산자 이용은 권장하지 않는다고 한다. 결론은 Equals 사용하자~?


7. Debug.Log

로그는 여러면에서 엄청난 비용을 차지한다.

보안상 노출시키지 않아야 하고, 프로그램 성능상 출력하지 말아야하며

배포되는 빌드에선 필수로 막아야 한다. 즉, 로그를 삭제 시키는 일은 선택이 아닌 필수다.