集合必须为std :: map有多大才能超出已排序的std :: vector>?集合必须为std :: map <k,v>超出排序的std :: vector <std :: pair <k,v>>?有多大?
我有一个系统,我需要几千个关联容器,并且std::map
似乎在CPU缓存方面带来了很多开销。我听说过,对于小型收藏std :: vector可以更快 - 但我想知道那条线是在哪里....
编辑:我一次谈论5个项目或更少一个给定的结构。我最关心的是执行时间,而不是存储空间。我知道像这样的问题本质上是平台特定的,但我正在寻找一个“经验法则”来使用。
Billy3
这个问题太模糊了。在什么平台上?对于什么工作量?集装箱有多大?什么是k和v?你将如何修改和访问集合?你会经常访问任意(随机)键的值吗? – 2010-06-04 15:01:53
我不确定我是否理解这个问题? “空白”是什么意思?要有更大的记忆?更快的搜索?你能重新解释一下这个问题吗? 谢谢。 – utnapistim 2010-06-04 15:02:45
@utnapistim:我编辑了这个问题。我更有意义吗? – 2010-06-04 15:30:43