gpt4 book ai didi

c++ - CppCoreGuidelines:什么是热整数拷贝?

转载 作者:行者123 更新时间:2023-12-01 14:39:01 25 4
gpt4 key购买 nike

我一直在阅读CppCoreGuidelines F.15,但我不理解参数传递表中的以下句子:

"Cheap" ≈ a handful of hot int copies
"Moderate cost" ≈ memcpy hot/contiguous ~1KB and no allocation


“hot int copy”是什么意思?

最佳答案

在这种情况下,“热”可能是指被缓存的可能性。如果某个特定的内存很可能不在高速缓存中,则该内存为“冷”内存,这是由于最近未在此执行线程中对其进行触摸。相反,如果一条内存可能最近被触摸过,或者与最近触摸过的内存相邻,则它是“热”的。
因此,它谈论的是对缓存中当前存储的内容进行存储副本的成本,因此在实际内存带宽方面便宜。
例如,考虑一个返回array<int, 50>的函数。如果该数组中的值是由函数本身生成的,则这些整数是“热”的,因为它们几乎肯定仍在高速缓存中。因此,按值返回就可以了。
但是,如果有一些包含这种类型的数据结构,则此函数可能只是检索了指向该对象的指针。按值返回它意味着要进行几次未缓存的内存访问,因为您必须复制到返回值。从内存缓存的 Angular 来看,这并不理想,因此也许返回一个指向数组的指针会更合适。
显然,未缓存的访问将以任何一种方式发生,但是在后一种情况下,调用者可以决定执行哪些访问和不执行哪些访问。

关于c++ - CppCoreGuidelines:什么是热整数拷贝?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62957572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com