Loop unrolling
Loop transformation technique
Loop unrolling, also known as loop unwinding, is a loop transformation technique that attempts to optimize a program's execution speed at the expense of its binary size, which is an approach known as space–time tradeoff. The transformation can be undertaken manually by the programmer or by an optimizing compiler.
Nº Q1869750 ★
Common · History
Loop unrolling
Loop transformation technique
Loop unrolling, also known as loop unwinding, is a loop transformation technique that attempts to optimize a program's execution speed at the expense of its binary size, which is an approach known as space–time tradeoff. The transformation can be undertaken manually by the programmer or by an optimizing compiler.
From Wikipedia
Loop unrolling, also known as loop unwinding, is a loop transformation technique that attempts to optimize a program's execution speed at the expense of its binary size, which is an approach known as space–time tradeoff. The transformation can be undertaken manually by the programmer or by an optimizing compiler. On modern processors, loop unrolling is often counterproductive, as the increased code size can cause more cache misses; cf. Duff's device. The goal of loop unwinding is to increase a program's speed by reducing or eliminating instructions that control the loop, such as pointer arithmetic and "end of loop" tests on each iteration; reducing branch penalties; as well as hiding latencies, including the delay in reading data from memory. To eliminate this computational overhead, loops can be re-written as a repeated sequence of similar independent statements. Loop unrolling is also part of certain formal verification techniques, in particular bounded model checking.
Text: Wikipédia, CC BY-SA 4.0. ·
Related cards
-
Undo
Computer command
Nº Q513420 ★
Not listed
-
E
Event loop
Programming design pattern that waits for and dispatches events or messages in a program
Nº Q1349935 ★
Not listed
-
D
Data wrangling
Restructuring data into a desired format; process of transforming and mapping data from one "raw" data form into another format with the intent of making it more appropriate and valuable for a variety of downstream purposes such as analytics
Nº Q5227374 ★
Not listed
-
S
Stack buffer overflow
This vulnerability occurs when a program inputs data that exceeds the capacity of a buffer allocated on the stack.
Nº Q1343128 ★
Not listed
-
Translation lookaside buffer
Memory cache that is used to reduce the time taken to access a user memory location; part of the chip’s memory-management unit
Nº Q1071403 ★★
Not listed
-
S
Source lines of code
Software metric
Nº Q942695 ★
Not listed