2005년 5월 11일 수요일

[책]Efficient C++ - 도브 불카, 데이비드 메이휴

. 최적화를 위한 방법들을 제시
. 예제와 실제 코드, 수행시간 비교도 있음
  . 수행시간 비교를 얼마나 믿을 수 있을 지는 그때그때 다르지만
   얼마나 차이나는 데 와닿음
. System Dependent한 기능들을 많이 쓰면 유연성과 portability가 떨어짐.


. I/O 줄이기
. 간단하고 많이 쓰이는 곳에서는 String대신 char*
. 꼭 필요한 객체만 생성
. Loop 내부의 구문 줄이기
. 생성자, 소멸자 호출 줄이기
. 상속보다 template이 빠름
. RVO(Return Value Optimization)
. 임시 객체 생성 줄이기
. Profiling하기
. Application의 조건에 따라서는 Memory Pooling이 유용함
  메모리를 많이 쓰는 대신 CPU를 적게 소모함
  작고 많이 실행되는 작은 웹서버 같은 곳에 유용
. 적절한 inline사용
. 컴파일러에 의존하는 최적화.
. Tail recursive는 iterator version으로 구현하는 것이 낫다.

댓글 없음:

댓글 쓰기