STL的高性能替代品?

Mat*_*att 8 c++ stl

传统的STL有哪些缓存友好的高性能替代品.它们应该针对现代64位Intel/AMD CPU的缓存进行优化.

我不是在寻找基于官方标准的STL实现,它必须基于它,或者是具有高性能数据结构的扩展STL.或者只是一个提供列表,地图等常规数据结构的库.

高并发和无锁数据结构将是一个奖励.

我对链接和许可感兴趣.

我读过有关EASTL并且之前使用过Boost的文章.

游戏开发者和科学界目前使用什么来充分利用CPU?什么在管道中?

seh*_*ehe 10

EASTL为+1.

任何基于C++ 11兼容编译器的东西都可能因为移动语义而执行得更好.

使用GNU libstdc ++实现已经可以看到这种差异 -std=c++0x

对于并发/无锁容器,我建议:

  • libCds由Max Khiszinsky
  • 来自英特尔的TBB(没有亲身体验)

我的中心建议是这样的:

优化标准库主要是决定如何正确使用算法/容器而不是寻找"完美"实现的因素.STL是通用的,永远不会有完美的实现.

只需密切关注您的返回值/输出参数(喜欢使用输出迭代和使用transform,partial_sum,accumulate到了那个容器reserveresize调用它适当;定义swap为你的元素类型等)

  • +1:你不能同时拥有"通用"和"完美的特定用途" (2认同)