책 정리/Effective C#
item 31, 작고 단순한 메서드가 더 좋다.
최익필
2010. 7. 25. 20:21
이 포스트를 만든 목적
- 미용실에 갔다가, 대기자가 있어서, 그 찰나에 책을 봤기에, 오늘 마저 정리한다.
이 포스트의 준비 상황
- 미용실에서 다른 사람을 기다리기 위한 시간이 있어야 한다.
- gVim 7.2
- Microsoft Visual C# 2010 Express
내용
내용은 작은 메소드가 왜 더 좋은지에 대해서 나와 있다.
왜 작고 단순한 메서드가 보다 더 좋은가?
- JIT 컴파일러가 런타임에 메소드 단위로 컴파일 하기 때문이다.
- 메소드 단위가 크면, 메소드 전체를 컴파일 할 때, 불필요한 경우에도 컴파일 한다. 다음:
- 인라인이 될 수 도 있다. - 샘플코드 제외
- 지역변수가 enregistration(엔레지스트레이션)이 될 수 도 있다.
- enregistration 이란, 지역 변수가 CPU register 에 직접 저장되는 것 을 뜻한다. 그러므로 메모리 참조보단 더 빠르다.
- 샘플 코드 제외
결론
- 무리해서 작은 메소드로 나누지 말고, 나눌 수 있을 때, 나누어 두는게 오히려 성능향상에 도움이 된다.
여담
- Microsoft Visual C# 2010 Express 이 컴파일이 되고, 실행 할 수 있다는 것에는 무리가 없으나, 다음의 문제가 있다.
- 라인 표시 안됨, Macro 안됨, 교차언어 안됨
- 엄청나게 졸렵다. .. 아직 8시 밖에 안되었는데 ..