A Data-driven Analysis of Code Optimizations
By: Yacine Hakimi, Riyadh Baghdadi
Potential Business Impact:
Makes computer programs run faster automatically.
As the demand for computational power grows, optimizing code through compilers becomes increasingly crucial. In this context, we focus on fully automatic code optimization techniques that automate the process of selecting and applying code transformations for better performance without manual intervention. Understanding how these transformations behave and interact is key to designing more effective optimization strategies. Compiler developers must make numerous design choices when constructing these heuristics. For instance, they may decide whether to allow transformations to be explored in any arbitrary order or to enforce a fixed sequence. While the former may theoretically offer the best performance gains, it significantly increases the search space. This raises an important question: Can a predefined, fixed order of applying transformations speed up the search without severely compromising optimization potential? In this paper, we address this and other related questions that arise in the design of automatic code optimization algorithms. Using a data-driven approach, we generate a large dataset of random programs, apply random optimization sequences, and record their execution times. Through statistical analysis, we provide insights that guide the development of more efficient automatic code optimization algorithms.
Similar Papers
Investigating Execution-Aware Language Models for Code Optimization
Software Engineering
Makes computer code run faster, but not much.
Scaling Inter-procedural Dataflow Analysis on the Cloud
Programming Languages
Analyzes huge computer programs much faster.
On Code-Induced Reasoning in LLMs
Computation and Language
Code's structure helps computers think better than its meaning.