Repeated Recursion Unfolding for Super-Linear Speedup within Bounds

09/11/2020
by   Thom Fruehwirth, et al.
0

Repeated recursion unfolding is a new approach that repeatedly unfolds a recursion with itself and simplifies it while keeping all unfolded rules. Each unfolding doubles the number of recursive steps covered. This reduces the number of recursive rule applications to its logarithm at the expense of introducing a logarithmic number of unfolded rules to the program. Efficiency crucially depends on the amount of simplification inside the unfolded rules. We prove a super-linear speedup theorem in the best case, i.e. speedup by more than a constant factor. Our optimization can lower the time complexity class of a program. In this paper, the super-linear speedup is within bounds: it holds up to an arbitrary but chosen upper bound on the number of recursive steps. We also report on the first results with a prototype implementation of repeated recursion unfolding. A simple program transformation completely removes recursion up to the chosen bound. The actual runtime improvement quickly reaches several orders of magnitude.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/05/2023

Runtime Repeated Recursion Unfolding: A Just-In-Time Online Program Optimization That Can Achieve Super-Linear Speedup

We introduce a just-in-time runtime program transformation based on repe...
research
08/08/2023

Determinants vs. Algebraic Branching Programs

We show that for every homogeneous polynomial of degree d, if it has det...
research
02/21/2022

Optimizing Recursive Queries with Program Synthesis

Most work on query optimization has concentrated on loop-free queries. H...
research
10/08/2018

Empirical Bounds on Linear Regions of Deep Rectifier Networks

One form of characterizing the expressiveness of a piecewise linear neur...
research
03/23/2022

Tight Bounds for Repeated Balls-into-Bins

We study the repeated balls-into-bins process introduced by Becchetti, C...
research
03/23/2023

Analyzing Innermost Runtime Complexity Through Tuple Interpretations

Time complexity in rewriting is naturally understood as the number of st...
research
01/06/2022

Super-Reparametrizations of Weighted CSPs: Properties and Optimization Perspective

The notion of reparametrizations of Weighted CSPs (WCSPs) (also known as...

Please sign up or login with your details

Forgot password? Click here to reset