我真的很讨厌使用 STL 容器,因为它们会使我的代码的调试版本运行得非常缓慢。其他人使用什么来代替 STL 以进行调试构建具有合理的性能?
我是一名游戏程序员,这在我从事的许多项目中一直存在问题。使用 STL 容器处理所有内容时,很难达到 60 fps。
我的大部分工作都使用 MSVC。
最佳答案
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] 的性能。
关于c++ - STL 替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/87096/