标签: loop-unrolling
我试图理解循环展开的概念,根据维基百科,它限制/最小化分支惩罚?
现在,我明白了展开的循环是什么。它基本上增加了循环增量步骤,并重复循环内的语句。
但是,我不太明白这对分支惩罚有何帮助?
答案 0 :(得分:1)
每个分支都应用分支惩罚。如果循环迭代100次,并且循环代码未展开,那么您将支付分支罚款100次。但如果循环展开一次(即代码的两个副本),您只需支付50倍的罚款。