连载:编写高效代码(12) 优化内存访问——别让包袱拖垮了你

本文探讨了如何通过减少数组和指针的使用、避免全局变量以及一次多访问数据来优化内存访问,以提高代码执行效率。强调了内存访问速度对于处理器性能的影响,并给出实例说明优化方法,如一次性加载多个数据到寄存器进行处理。

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

         从理论上看,每条运算指令的执行时间都很短,大多数指令一个Cycle就能完成,很多时候还能一个Cycle执行多条指令,可是实际上,执行指令只是处理器要做的很少一部分工作,处理器还要从存储器中取指令,从存储器中将数据导入到寄存器中,等算完后,再将结果存入到存储器中。

        处理器运算的速度像兔子赛跑一样快,但是存储器的访问速度像乌龟走路一样慢,而且越是远离内核的存储器,访问速度越慢。

        下面这个表是在几个x86处理器中,内核访问各级数据Cache和内存所需要的 Cycle数: 

处理器

Level 1 data Cache

Level 2 data Cache

内存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值