循环展开如何减少分支惩罚?

时间:2017-04-05 02:46:04

标签: loop-unrolling

我试图理解循环展开的概念,根据维基百科,它限制/最小化分支惩罚?

现在,我明白了展开的循环是什么。它基本上增加了循环增量步骤,并重复循环内的语句。

但是,我不太明白这对分支惩罚有何帮助?

1 个答案:

答案 0 :(得分:1)

每个分支都应用分支惩罚。如果循环迭代100次,并且循环代码未展开,那么您将支付分支罚款100次。但如果循环展开一次(即代码的两个副本),您只需支付50倍的罚款。