Low Fragementation Heap이란 Heap Memory에 대하여 new와 delete등의 메모리 할당 및 소멸 작업시 멀티쓰레드에서의 Lock에 의한 overhead를 줄여주는 Heap을 말합니다. XP에서 처음 도입되었으며 Vista에서 본격적으로 홍보된 Windows Heap의 일종입니다. 1개의 CPU가 아닌 N개의 CPU에서 멀티쓰레드에서 16KB이하의 메모리를 할당을 위하여 사용할 때 괄목할 만한 성능 향상이 있으며 상황에 따라 기본 Heap에 비하여 성능이 떨어지기도 합니다. 주로 서버용 프로그램에 사용되어질 듯 합니다. 자세한 내용을 담은 페이지는 아래와 같습니다.
윈도우 비스타 힙 관리자
Vista에서의 LFH를 소개한 블로그 글입니다. 댓글에 자세한 테스트를 한 분의 글이 있으니 놓치지 않고 읽어야 합니다.
Lock-Free memory allocator
같은 블로거님의 글로 해당 allocator를 Maged Michael의 알고리즘에 따라 구현하시고 글을 남겨놓으신 것 입니다.
Window Heap Memory
WIndows LFH에 대한 자세한 설명과 성능 테스트 코드를 볼 수 있는 글입니다. 관심있으시면 추천하고 싶은 글입니다.
MicroQuill 사용해보신분 계신가요?
Window LFH에 대하여 Lock-Free냐 아니냐로 논쟁이 붙었던 GPGStudy글입니다. 읽다보면 참이나 배우는게 많아서 관심있으시면 한번 쯤 읽어보실것을 추천합니다. 멀티쓰레드에서 메모리관련 오버헤드를 줄이기 위하여 Hoard등 다양한 Heap관련 알고리즘이나 라이브러리 이야기가 나옵니다.
'윈도우 프로그래밍' 카테고리의 다른 글
COM 객체에 대해서 비주얼스튜디오(Visual Studio)에서 인텔리센스 사용하기 (0) | 2021.10.04 |
---|---|
윈도우 할당 메모리 개념(Private, Virtual, WorkingSet) (0) | 2017.04.16 |
32bit 윈도우 어플리케이션 사용 가능 최대 메모리 (확장 옵션 설명 포함) (0) | 2017.03.19 |
64bit 윈도우 프로그래밍 (0) | 2009.08.21 |
Win32 ThreadPool (0) | 2009.07.03 |
OLE DB의 클래스 역활 (0) | 2009.06.14 |
Fiber [beta] (0) | 2009.05.13 |
UDP, recvfrom()에서 WSAECONNRESET(10054) 에러 날 때... (0) | 2009.04.30 |