是否有在标准C+中建模缓存的建议+;?或者有什么计划? 随着我对标准C++的了解越来越多,我看到越来越多的发言者、作者和博客强调缓存命中对性能程序的重要性。然而,我还没有看到任何努力,在标准或任何建议中,处理这个问题,除了通常的建议“使用向量,因为内存是连续的”

是否有在标准C+中建模缓存的建议+;?或者有什么计划? 随着我对标准C++的了解越来越多,我看到越来越多的发言者、作者和博客强调缓存命中对性能程序的重要性。然而,我还没有看到任何努力,在标准或任何建议中,处理这个问题,除了通常的建议“使用向量,因为内存是连续的”,c++,caching,C++,Caching,当然,不同的硬件平台有不同的内存层次结构,PC和嵌入式系统是完全不同的世界(我的经验是只使用PC)。努力实现可移植性,避免做出限制用例的假设是C++的核心理念。但缓存的使用太重要了,不能成为一个不涉及的话题。而且,在我的原始理解中,随着多核成为(或已经成为)运行程序的主要硬件平台,缓存实用程序变得更加重要 那么,有人知道有没有任何计划来解决这个问题吗?或者根本不应该在标准中解决它,因为它是一个实现级别的问题? 谢谢。你所说的“地址”是什么意思?这样一个提案包含哪些内容还不清楚。例如,在链表和数组

当然,不同的硬件平台有不同的内存层次结构,PC和嵌入式系统是完全不同的世界(我的经验是只使用PC)。努力实现可移植性,避免做出限制用例的假设是C++的核心理念。但缓存的使用太重要了,不能成为一个不涉及的话题。而且,在我的原始理解中,随着多核成为(或已经成为)运行程序的主要硬件平台,缓存实用程序变得更加重要

那么,有人知道有没有任何计划来解决这个问题吗?或者根本不应该在标准中解决它,因为它是一个实现级别的问题?
谢谢。

你所说的“地址”是什么意思?这样一个提案包含哪些内容还不清楚。例如,在链表和数组之间的选择是由程序员在编译时之前做出的,而不是求助于特定的语言功能。@EJP Jonathan Blow一直在谈论围绕缓存优化设计的语言功能。它不是C++,但它显示了这些特征可以存在,它们可能是什么。例如,以语法固有方式的数组结构或由指针继承,因此基类数据在内存中是连续的。我的问题在某种程度上(可能相当高)具有内在的模糊性。我想(是的,“guess”告诉你我对这个主题了解多少)我想知道人们是否试图在某种抽象的层面上,更好地利用记忆层次。举个(可能不恰当的)类比,RAII是一个在语言层面上得到支持的习语。在我看来,“更好地利用内存层次结构”也是另一个值得支持的成语。