【发布时间】:2011-02-08 00:27:18
【问题描述】:
嘿,我现在有一个我创建的结构列表,每次添加新对象时,我都会使用 std::list 排序方法对这个列表进行排序。 我想知道什么会更快,为此使用 std::multimap 或 std::list, 因为我每帧都在迭代整个列表(我正在制作游戏)。
我想听听你的意见,我应该如何处理这个事件。
【问题讨论】:
-
列表是万不得已的容器——我对这个主题的看法见punchlet.wordpress.com/2009/12/27/letter-the-fourth
-
您还与这些对象有什么关系?每次都迭代它?提取分钟?已经是瓶颈了吗?名单有多大?
-
当您想要查找列表中的项目时,您是如何查找它们的?
-
这很重要,它会影响我的完整渲染循环,我会迭代整个列表,而且它非常大(可能每个 9999,但在极端情况下确实如此)。
-
9999 项并没有那么多。除非物品很大。考虑 x686 使用 4096 字节页面的事实,这意味着您最坏的情况适合 3 个页面。一点也不多。该数据集足够小,在某些情况下甚至可以放入 CPU 的 L2 缓存中。
标签: c++ list sorting stl iteration