Я пытаюсь использовать boost :: unordered_map для кэширования некоторых значений. Я пытаюсь указать минимальное количество сегментов в конструкторе:
#include <boost/unordered_map.hpp>
typedef boost::unordered_map<float, float> Mycache;
Mycache cache((std::size_t)25165843,
boost::hash<float>(),
std::equal_to<float>(),
std::allocator<std::pair<float const, float> >());
Но когда я отображаю информацию о моем unordered_map в конце программы:
г ++:
unordered_map.size(): 15861612
unordered_map.load_factor: 10.0845
unordered_map.bucket_count: 1572869
unordered_map.max_size: 1572868
unordered_map.max_load_factor: 1
unordered_map.max_bucket_count: 1572869
VC ++:
unordered_map.size(): 13916119
unordered_map.load_factor: 8.8476
unordered_map.bucket_count: 1572869
unordered_map.max_size: 1572868
unordered_map.max_load_factor: 1
unordered_map.max_bucket_count: 1572869
Как указать минимальное количество сегментов?