An optimisation where a function of some systematically changing variable is calculated more efficiently by using previous values of the function.

In a procedural language this would apply to an expression involving a loop variable and in a declarative language it would apply to the argument of a recursive function.

E.g.

f x = ... (2**x) ... (f (x+1)) ...

==>

f x = f' x (2**x) where f ' x z = ... z ... (f' (x+1) 2*z) ...

Here the expensive operation (2**x) has been replaced by the cheaper 2*z in the recursive function f'.

This maintains the invariant that z = 2**x for any call to f'.

< Previous Terms |
Terms Containing strength reduction |
Next Terms > |

stream streaming Streaming SIMD Extensions stream-oriented STREAMS |
finite differencing |
STRESS stress testing strict strict evaluation strided |

WeWork Office Space & Coworking

Address: 115 Broadway, New York, NY 10006

Hours: Opens 9AM - 6PM

Phone: +1 646-396-3519

shape

shape