memory_pool_options

memory_pool_options (std::pmr::pool_options)

<memory_resource> 헤더에 정의되어 있어요. std::pmr::synchronized_pool_resourcestd::pmr::unsynchronized_pool_resource를 포함한 풀 리소스의 생성자 옵션 집합이에요. C++17부터 도입됐어요.

출처: cppreference

본문

struct pool_options;

(C++17부터)

std::pmr::pool_optionsstd::pmr::synchronized_pool_resourcestd::pmr::unsynchronized_pool_resource를 포함한 풀 리소스의 생성자 옵션 집합이에요.

데이터 멤버

  • std::size_t max_blocks_per_chunk: 업스트림 std::pmr::memory_resource에서 풀을 보충하기 위해 한 번에 할당할 최대 블록 수. 값이 0이거나 업스트림 리소스의 max_size()보다 크면 구현이 임의의 기본값으로 바꿔요.
  • std::size_t max_blocks_per_pool: 하나의 풀에서 관리할 최대 블록 수. 값이 0이거나 max_blocks_per_chunk보다 작으면 구현이 임의의 기본값으로 바꿔요.

이 옵션들은 풀 리소스의 청크 크기와 풀 용량을 세밀하게 조절해, 메모리 사용량과 할당 성능 사이의 균형을 잡는 데 사용돼요.

std::pmr::pool_options opts;
opts.max_blocks_per_chunk = 64;
opts.max_blocks_per_pool  = 4096;
std::pmr::synchronized_pool_resource pool(opts);

더 알아보기 (Learn more)

cppreference