Low-fragmentation Heap에 대해 질문있습니다.

BrownBear의 이미지

http://egloos.zum.com/sweeper/v/2843922

이 분의 블로그를 보게되면 LFH는 할당 크기가 16KB보다 작아야 적용이 된다고 적혀있습니다.

정확히는 16.344KB라고 적혀있구요.

그럼 32KB짜리 데이터를 이용해 힙에 쓰고 제거한다고 가정할 시

2개의 Heap Handle를 HeapCreate를 통해 부여받아서 HeapAlloc -> HeapFree -> HeapDestroy
를 해야하나요

아니면 하나의 Heap Handle를 32KB로 할당받고 HeapAlloc를 통해 2개의 주소(각각 16KB씩 할당)를 반환받아서 쓰면되나요??

*GetProcessHeaps를 통해 HeapSetInformation을 이용해 힙의 정보를 설정하는데 프로세스 기본힙 2개가 설정이 되지 않습니다. HEAP_NO_SERIALIZE로 되어있고 계속 실패만하는데 그 이유가 있는건가요?

shint의 이미지


MSDN에 설명과 예제소스가 좀 있네요.

이것저것 테스트를 해봐야 알거 같습니다.

댓글 첨부 파일: 
첨부파일 크기
Package icon LFH - Low-fragmentation Heap.zip47.26 KB

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com