《程序员升职记》 第二年 繁忙的收发室

本文通过一个简单的收发室场景,介绍了循环展开的概念,指出它是一种牺牲代码简洁性以提高运行效率的优化技术。循环展开可以减少循环次数,增加指令级并行,有助于指令流水线调度,并能降低分支指令开销。尽管可能导致代码变复杂,但在底层优化中,尤其对于重复任务,它是提高效率的有效手段。
摘要由CSDN通过智能技术生成

题目为把inbox里的东西放入outbox,非常简单,代码如下:
在这里插入图片描述

运行的结果都会如下图所示:

在这里插入图片描述
其中优化诊断是指代码的简洁。而效率诊断是指代码效率。也就是是说我们刚刚的代码虽然够简洁,但是并没有达到效率要求。
我们该如何修改代码呢?
在这里插入图片描述
想想很多小伙伴看到后会疑问,这有什么区别?
当然有区别,最明显的就是运行结果。
在这里插入图片描述
可以看到,与上面的结果相比,损失了代码简洁性,但得到的是效率。其实这道题目就是想告诉我们,在反复做一些重复性的工作时,我们可以在一个循环里运行多次,这样可以减少循环语句的次数进而提高效率。
这种牺牲代码简洁性获取效率的方法的专业术语叫做循环展开

循环展开 ,英文中称(Loop unwinding或loop unrolling),是一种牺牲程序的尺寸来加快程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Little BigUs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值