PopAllMessage를 호출하여 받는 메시지 블록을 호출할 때마다 동적 생성하지 않고 미리 메모리 풀을 만들어서 재사용할 수 있습니다.

 

메모리 블록의 풀의 크기와 개수는 아래의 함수로 설정합니다.

 

void PrepareMemoryBlock( const size_t bufferSize, const uint32 count );

// 64 byte짜리 청크를 100개 미리 할당
PrepareMemoryBlock(64, 100);



그런데 서버 실행 중 64보다 큰 200 바이트 크기의 메시지 블록이 필요하게 되면 풀에서는 200 바이트로 재할당 합니다( 정확하게는 100 이라고 설정하면 128, 200 이라면 256 바이트 청크를 만듭니다 ).

 

또 미리 할당한 청크를 다 사용하였다면 앞에 할당한 개수의 2배로 재할당 합니다.

 

 

저작자 표시
신고
by 흥배 2010.02.08 09:00

티스토리 툴바