Jul 2026· ACM Transactions on Architecture and Code Optimization (TACO)· Vol 23, pp. 1-27· 0 citations· 66 references
TL;DR
This article presents a novel technique for reducing the size of AOT compiled programs by using fully-context-sensitive profiles to concentrate the optimizations on the hot code.
Abstract
To improve a program’s performance and avoid excessive binary-size growth, compiler optimizations can be applied on only the most frequently executed parts of the program, i.e. hot code. Ahead-of-time (AOT) compilation can benefit from profiles to determine the hot code, and to improve optimization decisions with respect to code hotness. In this article, we present a novel technique for reducing the size of AOT compiled programs by using fully-context-sensitive profiles to concentrate the optimizations on the hot code. These profiles enable capturing different behaviors of the same subroutine when invoked from different calling contexts. We use this information to identify those subroutines that contribute significantly to the program’s performance and compile them differently according to their calling contexts. We implemented this technique inside GraalVM Native Image, a state-of-the-art AOT compiler for Java, and performed an evaluation on 29 benchmarks from DaCapo, Scalabench, and Renaissance benchmarking suites. With this selective subroutine specialization, we achieved significant binary-size reductions, ranging from \(11\% \) to \(38\% \) compared to the Enterprise version of GraalVM Native Image with PGO, while retaining similar performance as the O3 optimization level with PGO.
It is demonstrated that LLMs provided with specific optimization goals achieve better measured performance and validity rates when generating C code compared to creating computation pipelines and optimization schedules with established frameworks, suggesting that future development should explore alternative approaches...
Jiří Klepl, Matyáš Brabec, Martin Kruliš· 0 citations
This paper explores copy-and-patch as a foundation for dynamic program analysis, and implements four analyses on top of an existing copy-and-patch JIT for R: code instrumentation, code coverage, performance profiling, and native debugging.
Martin Kocourek, Filip Křikava, Jan Vitek· 0 citations
A characterization study of how feedback information is utilized by JIT compilers, providing motivation for future work on reducing recording overhead, and evaluating two oracle-based configurations that establish upper bounds on achievable reduction.
Sebastián Krynski, F. Říha, Filip Křikava et al.· European Conference on Objec...· 0 citations
Torchy is presented, a tracing JIT compiler for PyTorch, one of the mainstream eager-mode frameworks, that achieves similar performance as data-flow frameworks, while providing the same semantics of straight-away execution.
An increase in performance of up to 99% for the template-based implementations of D’s runtime library, with minimal impact on compilation time and binary size is confirmed.
Teodor-Stefan Dutu, Albert Guiman, Răzvan Niţu et al.· International Conference on...· 0 citations
Optimo is proposed, a multi-level LLM-based code optimization approach built on a novel Mixture-of-Prompts (MoP) architecture that achieves up to 57.48% opt%, and consistently outperforms the best baseline by up to 96.51% in terms of opt%.
Yun Peng, Jun Wan, Jiakun Liu et al.· arXiv.org· 0 citations
We use cookies to run the site and, with your consent, for analytics and to show ads.
See our Cookie Policy.