首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >STL的高性能替代品?

问STL的高性能替代品?
EN

Stack Overflow用户
提问于 2011-11-23 09:17:38
回答 3查看 3.1K关注 0票数 8

除了传统的STL,还有哪些缓存友好的高性能替代方案。它们应该针对现代64位Intel/AMD CPU的缓存进行优化。

我并不是在寻找基于官方标准的STL实现,它可能是基于此的,也可能是一个具有高性能数据结构的扩展STL。或者仅仅是一个库,它提供了通用的数据结构,如列表、映射等。

高并发和无锁的数据结构将是一个额外的好处。

我感兴趣的是一个链接&一个许可证。

我读过关于EASTL的文章,以前也用过Boost。

目前,游戏开发人员和科学界正在使用什么来最大限度地利用CPU?正在进行中的是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-23 09:20:06

EASTL为+1。

由于move语义的原因,任何基于C++11兼容编译器的东西都有可能执行得更好。

这种差异在使用-std=c++0x的GNU libstdc++实现中已经很明显了

对于并发/无锁容器,我推荐:

  • libCds作者: Max Khiszinsky来自英特尔的
  • TBB(无实践经验)

我的核心建议是这样的:

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

只需密切关注返回值/输出参数(更喜欢使用输出迭代器,并将transform、partial_sum、accumulate用于适当调用了reserve或resize的容器中;为您的元素类型等定义swap )。

票数 10
EN

Stack Overflow用户

发布于 2011-11-23 09:26:08

我相信标准模板自适应并行库STAPL很可能是目前最重要的研究合作之一。

微软在Asynchronous Agents Library上投入了大量的精力,它有许多经过充分测试的高性能容器,用于消息传递。

英特尔有自己的产品Thread Building Blocks,其中包含许多用于并行处理的容器和算法。

票数 1
EN

Stack Overflow用户

发布于 2014-11-17 22:04:44

Boost Compute绝对是一个亚军。

http://boostorg.github.io/compute/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8236193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档