요약 정리 : 원문
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
로그는 여러면에서 엄청난 비용을 차지한다.
보안상 노출시키지 않아야 하고, 프로그램 성능상 출력하지 말아야하며
배포되는 빌드에선 필수로 막아야 한다. 즉, 로그를 삭제 시키는 일은 선택이 아닌 필수다.
'NOTE > Unity' 카테고리의 다른 글
[Unity] Asset Bundle (0) | 2018.04.01 |
---|---|
[Unity] Managed Plugins 동적 링크 라이브러리(DLL) (0) | 2017.03.31 |
[Unity] MeshRenderer Material 스크립트로 변환 (4) | 2017.02.13 |
[Unity] JsonUtility && Json에 List<> 넣기 (1) | 2017.01.19 |
[Unity] 데이터 저장(펌) (0) | 2017.01.18 |