STL 替代方案

新手上路,请多包涵

我真的很讨厌使用 STL 容器,因为它们使我的代码的调试版本运行得非常缓慢。其他人使用什么来代替具有合理性能的调试构建的 STL?

我是一名游戏程序员,这在我从事的许多项目中一直存在问题。当你对所有东西都使用 STL 容器时,很难达到 60 fps。

我的大部分工作都使用 MSVC。

原文由 Tod 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 670
1 个回答

EASTL 是一种可能性,但仍不完美。 Electronic Arts 的 Paul Pedriana 对各种 STL 实现在游戏应用程序中的性能进行了调查,其摘要可在此处找到: http ://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007 /n2271.html

其中一些调整正在审查中以包含在 C++ 标准中。

请注意,即使 EASTL 也不会针对未优化的情况进行优化。不久前我有一个带有一些时间的 excel 文件,但我想我已经丢失了它,但是对于访问它是这样的:

        debug   release
STL      100        10
EASTL     10         3
array[i]   3         1

我取得的最大成功是滚动自己的容器。您可以将它们降低到接近数组 [x] 的性能。

原文由 Jeff 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题