c++ - STL 替代方案

标签 c++ visual-studio performance stl

我真的很讨厌使用 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/

相关文章:

visual-studio - 自定义Intellisense扩展

visual-studio - 必须安装Web Developer Tools选项

java - Android 效率 - View

macos - OS X 上的 Docker 和文件共享

c++ - 使用 QByteArray 和 QFile 发送十六进制命令

c++帮助将 vector 索引传递给函数

c++ - 未执行左值到右值的转换

c++ - 魔方程序(C++)

c++ - 在 C++ 中使用初始化列表时的奇怪行为

sql - 高效使用SQL GROUP BY、SUM、COUNT