. 최적화를 위한 방법들을 제시
. 예제와 실제 코드, 수행시간 비교도 있음
. 수행시간 비교를 얼마나 믿을 수 있을 지는 그때그때 다르지만
얼마나 차이나는 데 와닿음
. System Dependent한 기능들을 많이 쓰면 유연성과 portability가 떨어짐.
. I/O 줄이기
. 간단하고 많이 쓰이는 곳에서는 String대신 char*
. 꼭 필요한 객체만 생성
. Loop 내부의 구문 줄이기
. 생성자, 소멸자 호출 줄이기
. 상속보다 template이 빠름
. RVO(Return Value Optimization)
. 임시 객체 생성 줄이기
. Profiling하기
. Application의 조건에 따라서는 Memory Pooling이 유용함
메모리를 많이 쓰는 대신 CPU를 적게 소모함
작고 많이 실행되는 작은 웹서버 같은 곳에 유용
. 적절한 inline사용
. 컴파일러에 의존하는 최적화.
. Tail recursive는 iterator version으로 구현하는 것이 낫다.
댓글 없음:
댓글 쓰기