首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AVX2流存储不会提高性能

AVX2流存储不会提高性能
EN

Stack Overflow用户
提问于 2018-03-05 20:28:17
回答 1查看 1.1K关注 0票数 1

我有一些工作负载的AVX2实现。

我已经确定,绝大部分执行时间都被内存负载和存储所占用。

为了提高性能,我尝试将传统存储改为流(非时态)存储。

然而,这一变化对业绩的影响很小,甚至没有积极影响(我预期业绩会有大幅度的提高)。

这是什么原因?

EN

回答 1

Stack Overflow用户

发布于 2018-04-06 07:48:38

在某些情况下,使用流存储可以带来更好的性能:

  1. 在写入之前不读取“要存储”的数据:流存储是直接通过的,这会产生立即的总线流量。标准存储使用写回策略,该策略可能将总线操作推迟到稍后时间,并避免对同一高速缓存线多次写入总线操作。
  2. 用于存储的时间比计算所用的时间要短:在下一个流存储可以发布之前,必须完成流存储。因此,在两个流存储之间进行太少的计算会导致处理器的一些空闲时间,在其中不能执行进一步的计算。在标准商店中也可能出现这个问题的地方,流存储甚至会增加它。
  3. 在编写后不久就不需要“要存储”的数据:流存储在写入/存储时超过了缓存。因此,缓存中没有数据的副本。向后读取数据时,必须将数据加载到缓存中。因此,你不能超过一个标准的商店。但是,当使用标准存储时,数据将被加载到缓存中,并在缓存中进行修改,当以后的访问发生时,数据可能仍然存在。

因此,您必须考虑您的代码和问题,对这些情况,以了解流媒体商店是否值得一试。在不合适的情况下,您的性能甚至可能下降。

可以找到一个包含其他信息和基准的博客条目,例如这里

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

https://stackoverflow.com/questions/49118900

复制
相关文章

相似问题

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