gpt4 book ai didi

c++ - 构造 boost::unordered_map 时指定最小桶数

转载 作者:太空狗 更新时间:2023-10-29 20:49:22 35 4
gpt4 key购买 nike

我正在尝试使用 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 的信息时:

g++:

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

如何指定最小桶数?

最佳答案

关于标准的另一个答案是正确的,但是小的 max_bucket_count 实际上是 Boost 1.38 中的一个错误,任何其他版本都会让你使用更多的桶。

关于c++ - 构造 boost::unordered_map 时指定最小桶数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/694572/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com