__builtin_prefetch

本文介绍了GCC内置函数__builtin_prefetch的功能与用法,该函数用于手动预加载数据,减少读取延迟,提高程序运行效率。文章详细解释了函数参数rw和locality的意义及其如何影响数据预取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

__builtin_prefetch()

gcc的内置函数
对数据进行手工预存取,减少读取延时。

原型:

void __builtin_prefetch (const void *addr, ...)

该函数还有两个可选参数,rw 和 locality 。

rw 是个编译时的常数,或 1 或 0 。1 时表示写(w),0 时表示读® 。

locality 必须是编译时的常数,也称为“时间局部性”(temporal locality) 。时间局部性是指,如果程序中某一条指令一旦执行,则不久之后该指令可能再被执行;如果某数据被访问,则不久之后该数据会被再次访问。该值的范围在 0 - 3 之间。为 0 时表示,它没有时间局部性,也就是说,要访问的数据或地址被访问之后的不长的时间里不会再被访问;为 3 时表示,被访问的数据或地址具有高 时间局部性,也就是说,在被访问不久之后非常有可能再次访问;对于值 1 和 2,则分别表示具有低 时间局部性 和中等 时间局部性。该值默认为 3 。

转载自链接: https://www.cnblogs.com/dongzhiquan/p/3694858.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值