이 포스트를 만든 목적
- 미용실에 갔다가, 대기자가 있어서, 그 찰나에 책을 봤기에, 오늘 마저 정리한다.
이 포스트의 준비 상황
- 미용실에서 다른 사람을 기다리기 위한 시간이 있어야 한다.
- gVim 7.2
- Microsoft Visual C# 2010 Express
내용
내용은 작은 메소드가 왜 더 좋은지에 대해서 나와 있다.
왜 작고 단순한 메서드가 보다 더 좋은가?
- JIT 컴파일러가 런타임에 메소드 단위로 컴파일 하기 때문이다.
- 메소드 단위가 크면, 메소드 전체를 컴파일 할 때, 불필요한 경우에도 컴파일 한다. 다음:
- 인라인이 될 수 도 있다. - 샘플코드 제외
- 지역변수가 enregistration(엔레지스트레이션)이 될 수 도 있다.
- enregistration 이란, 지역 변수가 CPU register 에 직접 저장되는 것 을 뜻한다. 그러므로 메모리 참조보단 더 빠르다.
- 샘플 코드 제외
결론
- 무리해서 작은 메소드로 나누지 말고, 나눌 수 있을 때, 나누어 두는게 오히려 성능향상에 도움이 된다.
여담
- Microsoft Visual C# 2010 Express 이 컴파일이 되고, 실행 할 수 있다는 것에는 무리가 없으나, 다음의 문제가 있다.
- 라인 표시 안됨, Macro 안됨, 교차언어 안됨
- 엄청나게 졸렵다. .. 아직 8시 밖에 안되었는데 ..
'책 정리 > Effective C#' 카테고리의 다른 글
item 36, 닷넷 런타임의 진단기능을 활용하라 (0) | 2010.08.01 |
---|---|
item 35, 이벤트 핸들러보다 override를 사용하는 편이 낫다. (0) | 2010.08.01 |
item 34, 웹 API는 큰 단위로 작성하라 (0) | 2010.08.01 |
item 33, 타입의 가시성을 제한하라. (0) | 2010.08.01 |
item 32, 작고 응집도가 높은 어셈블리가 더 좋다. (0) | 2010.07.31 |
item 30, CLS를 준수하는 어셈블리가 더 좋다. (0) | 2010.07.25 |
item 29. 기반 클래스의 변경이 영향을 줄 경우에만 new 한정자를 사용하라. (0) | 2010.07.22 |
item 28, 형변환 연산자의 구현을 피하라 (0) | 2010.07.21 |
item 27, ICloneable의 구현을 피하라 (4) | 2010.07.20 |
item 26, IComparable과 IComparer를 이용하여 순차관계를 구현하라 (6) | 2010.07.19 |
최근댓글