std :: list, std :: set, std :: multi_set, std :: map과 같은 STL 컨테이너의 표준 할당자인 C++ 최적화 쿡북을 읽었습니다 , std :: multi_map은 더 좋은 수행자 블록 할당 자으로 대체 될 수 있습니다.std :: map 표준 할당 자 성능 대 블록 할당 자
블록 할당자는 높은 성능, 낮은 단편화 및 효율적인 데이터 캐싱을 제공합니다.
웹에서 표준보다 빠른 FSBAllocator를 찾았습니다. http://warp.povusers.org/FSBAllocator/
나는 표준 : :지도를 시도하고 빠른 실제로 것으로 보인다 찾았지만, 내 질문은 STL 구현이 특정 할당에 비해 너무 느릴 수있는 방법이며, 다른 할당의 단점이 무엇했습니다 이식성과 견고성 측면에서 표준보다 내 코드는 다양한 아키텍처 (win32, osx, linux)에서 컴파일해야합니다. 누군가가 그런 종류의 고정 크기 블록 할당 자에 대한 경험이 있습니까?
STL 할당자는 가능한 한 일반적이고 대부분의 경우 효율적이라고 가정합니다. 코드에 실제 성능 문제가없는 한 다른 유형의 할당자를 사용하지 않습니다. – Max
블록 할당자는 표준과 거의 같은 오버 헤드없이 임의의 크기를 할당 할 수없는 것처럼 들립니다. –