However, this approach is extremely time consuming. In order to reduce compilation times, we discuss in this paper how to incorporate static models. We focus on tiling and unrolling as transformations and cache models, as a test case for the feasibility of the approach. We show that a highly accurate model as a filter to profiling can reduce the number of executions by 50%.
We also show that using a simple model to rank transformations and profiling only those with highest ranking can reduce the number of executions even further, in case we have a limited number of profiles at our disposal. We conclude that a production compiler might perform best using the last approach.