이 포스트를 만든 목적

  • 1부에서 5부까지 나와있는 내용 밖의 이야기들을 정리하려고

이 포스트의 준비물

  • Firefox 4.0 beta6 - 웹 서핑 속도는 무척 빨라졌다.
  • Winamp v5.572 (x86)

참조 서적

  • Modern C++ Design

참조 링크

내용

책 내용을 한번은 소화하고, 정리했으나, 수많이 내용은 생략(능력 부족으로 표현할 수가 없었다.)하고, 코드로 대체했다. 그 외의 이야기들을 정리하고자, 이 포스트를 만들었다.

이 책에서 말하는 메모리 풀 외의 이야기로는 "설계"가 있다. 이 설계는 메모리 풀을 설계할 때, 정책 기반 클래스(템플릿으로 상태를 변경시킬 수 있는 클래스)로 만드는 것이다. 이 이야기 부분에서 "쓰레드 안정성 확보, Chunk 당 오브젝트 갯수 제한(256개 이하겠지만), 메모리풀이 사용 할 수 있는 오브젝트 최대 크기 제한" 등등 키워드를 얻을 수 있다.

자세한 내용은 책을 통해 보는게 좋겠다. (뒷부분으로 갈 수록 책에 코드가 없고, 개념 설명만 하고 있다.)

메모리 풀을 직접 만드는 것에 대한 개인적인 생각 정리

  • 메모리 풀을 만들기 전에, 꼭 메모리 풀이 필요한지 성능 테스를 해야 한다.
    - 메모리 풀로 성능이 좋아진다고 장담할 수 없기 때문이다. (코드량 증가는 심한 부담이기 때문이다.)
    - 더군다나, OS의 발달, 멀티 쓰레딩 등으로 메모리 풀이 오히려 독이 되기도 한다.

  • 만약 메모리 풀이 필요하다면, 공개된 메모리 풀을 찾아 보는게 최선의 방법이다.
    - 각종 플랫폼에서, 테스트에서, 피드백에서, 성능에서, 내가 만든것 보다 더 좋기 때문이다.

  • 직접 구현할 수밖에 없다면, 몇몇 지인들(회사 사람이나, 같이 공부했던 사람들, 동호회 사람들)에게 피드백을 받아야 한다.
    - 대부분의 경우, 프로그램은 목적이 있기 때문에, 같은 목적을 지닌 사람들에게 배포가 되어, 문제가 걷잡을 수 없게 번진다.

여담

  • 책 읽는 내내 몇번을 감탄했는지 모르겠다.
  • 책 읽는 내내, 사용한다면, 나는 오픈 라이브러리 사용해야지 라는 생각이 머리속을 떠나지 않았다.

  • 5장은 1995년에 명명된 Command 패턴과 일반화 함수자의 이야기이다.
    - 책의 내용은 정말 감탄 그 자체이다.


  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기