Механізми самопрофілювання компіляторів для коду в реальному часі
DOI:
https://doi.org/10.34185/1562-9945-5-161-2025-08Ключові слова:
адаптивна компіляція, оптимізація часу виконання, самопрофілювання, LLVM, JIT-компіляція, продуктивністьАнотація
У статті досліджується концепція самопрофілювальних компіляторів як засобу адаптивної оптимізації коду в реальному часі. Підхід ґрунтується на збиранні ди-намічних метрик продуктивності під час виконання програми та аналізі отриманих даних для вибору найефективніших стратегій компіляції. Запропоновано архітектуру компілятора, здатного автоматично виявляти критичні з точки зору продуктивності ділянки коду (hotspots), налаштовувати конфігурацію оптимізаційних проходів і здійснювати повторну компіляцію з урахуванням оновлених метрик. Реалізовано про-тотип на основі LLVM з вбудованим агентом часу виконання, відповідальним за ін-струментування коду, збір метрик та взаємодію з динамічним Pass Manager. Проведе-но серію експериментів на різних апаратних платформах, зокрема на десктопних про-цесорах і ARM-архітектурах. Результати продемонстрували суттєве зростання про-дуктивності без помітного збільшення часу компіляції або використання ресурсів. От-римані дані підтверджують доцільність інтеграції самопрофілювання в компілятори наступного покоління, орієнтовані на високопродуктивні обчислення, edge-системи та мобільні пристрої. У роботі представлено концепцію самопрофілювання як інструмент реальної оптимізації коду. Реалізовано прототип на базі LLVM із вбудованим модулем runtime-аналізу. Результати демонструють переваги запропонованого
підходу.
Посилання
Muchnick, S. S. (1997). Advanced Compiler Design and Implementation. Morgan Kauf-mann.
Cooper, K. D., & Torczon, L. (2011). Engineering a Compiler (2nd ed.). Morgan Kauf-mann.
Aycock, J. (2003). A Brief History of Just-In-Time Compilation. Springer.
Tratt, L. (2021). Modern Compiler Implementation in a Post-LLVM World. Springer.
Parr, T. J. (2010). The Definitive ANTLR 4 Reference: Building Domain-Specific Lan-guages. Pragmatic Bookshelf.
Lattner, C., & Adve, V. (2004). LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation. University of Illinois.
Jones, R., Hosking, A., & Moss, E. (2011). The Garbage Collection Handbook: The Art of Automatic Memory Management. Chapman & Hall/CRC.
Nystrom, R. (2021). Crafting Interpreters. Genever Benning.
Aho, A. V., Lam, M. S., Sethi, R., & Ullman, J. D. (2006). Compilers: Principles, Tech-niques, and Tools (2nd ed.). Addison-Wesley.
Appel, A. W. (1998). Modern Compiler Implementation in C. Cambridge University Press.
Завантаження
Опубліковано
Номер
Розділ
Ліцензія
Авторське право (c) 2026 Системні технології

Ця робота ліцензується відповідно до ліцензії Creative Commons Attribution 4.0 International License.









