# PrETi: Predicting Execution Time in Early Stage with LLVM and Machine Learning

arXiv: https://arxiv.org/abs/2503.13679 · HTML: https://mlsanity.com/paper/2503.13679/

## Key facts

- No citing papers in the map yet (data through 14 Oct 2026).
- Builds on 4 of its 27 references that are in the map.
- First posted on arXiv 17 Mar 2025.

## Builds on (most cited first, 4 of 4)

- [Optuna: A Next-generation Hyperparameter Optimization Framework](https://mlsanity.com/paper/1907.10902/) (2019)
- [Ithemal: Accurate, Portable and Fast Basic Block Throughput Estimation using Deep Neural Networks](https://mlsanity.com/paper/1808.07412/) (2018)
- [Computing Execution Times with eXecution Decision Diagrams in the Presence of Out-Of-Order Resources](https://mlsanity.com/paper/2207.07481/) (2022)
- [Leveraging LLVM's ScalarEvolution for Symbolic Data Cache Analysis](https://mlsanity.com/paper/2310.04809/) (2023)

## Abstract (arXiv)

We introduce preti, a novel framework for predicting software execution time during the early stages of development. preti leverages an LLVM-based simulation environment to extract timing-related runtime information, such as the count of executed LLVM IR instructions. This information, combined with historical execution time data, is utilized to train machine learning models for accurate time prediction. To further enhance prediction accuracy, our approach incorporates simulations of cache accesses and branch prediction. The evaluations on public benchmarks demonstrate that preti achieves an average Absolute Percentage Error (APE) of 11.98%, surpassing state-of-the-art methods. These results underscore the effectiveness and efficiency of preti as a robust solution for early-stage timing analysis.
