memory_pool_options
memory_pool_options (std::pmr::pool_options)
<memory_resource> 헤더에 정의되어 있어요. std::pmr::synchronized_pool_resource와 std::pmr::unsynchronized_pool_resource를 포함한 풀 리소스의 생성자 옵션 집합이에요. C++17부터 도입됐어요.
출처: cppreference
본문
struct pool_options;
(C++17부터)
std::pmr::pool_options는 std::pmr::synchronized_pool_resource와 std::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);