Анализ алгоритмов составляющих частей компилятора и его оптимизации
(Стр. 26-35)
Подробнее об авторах
Харин Илья Андреевич
инженер отдела измерительно-вычислительных систем,
Раскатова Марина Викторовна
кандидат технических наук; доцент кафедры вычислительных машин, комплексов и систем
Аннотация:
Оптимизация программ возникла, как ответ на появление высокоуровневых языков программирования, и включает в себя специальные приемы и методы, используемые при построении компиляторов для получения достаточно эффективного объектного кода. Совокупность этих методов составляла в прошлом и является теперь неотъемлемой частью так называемых оптимизирующих компиляторов, целью которых заключается в создании объектного кода, позволяя экономить такие компьютерные ресурсы, как процессорное время и память. Для современных суперкомпьютеров добавляется также требование правильного использования аппаратных особенностей. В данном контексте особого внимания заслуживают вопросы, связанные с оптимизацией компиляторов, которая может включать в себя адаптацию компилятора для уменьшения времени выполнения или размера объекта, или и того, и другого. С учетом вышеизложенного, цель статьи заключается в проведении анализа алгоритмов составляющих частей компилятора и обозначении путей его оптимизации. В процессе исследования кратко охарактеризована общая технология работы компилятора. Отдельное внимание уделено рассмотрению основных функции алгоритмов, которые реализуются на разных этапах работы компилятора. Также рассмотрены возможности использования машинного обучения для оптимизации компиляторов.
Образец цитирования:
Харин И.А., Раскатова М.В. Анализ алгоритмов составляющих частей компилятора и его оптимизации // Computational Nanotechnology. 2023. Т. 10. № 2. С. 26-35. DOI: 10.33693/2313-223X-2023-10-2-26-35. EDN: BDGKMA
Список литературы:
Aschwanden P. CcNav: Understanding compiler optimizations in binary code // IEEE Transactions on Visualization and Computer Graphics. 2021. Vol. 27. No. 2. Pp. 667–677.
Chen Ge. CRAC: An automatic assistant compiler of checkpoint/restart for OpenCL program // Concurrency and Computation: Practice and Experience. 2022. Vol. 34. No. 8. Pp. 14–22.
Huang Ya., Xie B. Fine-grained compiler identification with sequence-oriented neural modeling // IEEE Access: Practical Innovations, Open Solutions. 2021. Vol. 9. Pp. 49160–49175.
Sampson A., Adit N. Performance left on the table: An evaluation of compiler autovectorization for RISC-V // IEEE Micro. 2022. Vol. 42. No. 5. Pp. 41–48.
Tang Yi., Zhou Zh.. Detecting compiler warning defects via diversity-guided program mutation // IEEE Transactions on Software Engineering. 2021. Vol. 48. No. 11. Pp. 4411–4432.
Tewary M., Salcic Z.. Compiler-assisted energy reduction of java real-time programs // Microprocessors and Microsystems. 2022. Vol. 89. No. 3. Pp. 78–83.
Wang Zh. Machine learning in compiler optimization // Proceedings of the IEEE. 2018. Vol. 106. No. 11. Pp. 1879–1901.
Баглий А.П., Кривошеев Н.М., Штейнберг Б.Я. Автоматизация распараллеливания программ с оптимизацией пересылок данных // Научный сервис в сети Интернет. 2022. № 24. С. 81–92.
Болотнов А.М., Нурисламова Э.А. Влияние оптимизации компилятора GCC на эффективность программного кода в языке C++ // Современные наукоемкие технологии. 2019. № 12-2. С. 266–270.
Вьюкова Н.И., Галатенко В.А., Самборский С.В. Средства динамического анализа программ в компиляторах GCC и CLANG // Программирование. 2020. № 4. С. 46–64.
Малявко А.А. Обработка ошибок в синтаксическом анализаторе компилятора языка EL // Научный вестник Новосибирского гос. техн. ун-та. 2019. № 2 (75). С. 37–48.
Советов П.Н. Итеративный подход с использованием компилятора для синтеза и моделирования проблемно-ориентированного набора команд // International Journal of Open Information Technologies. 2019. Т. 7. № 10. С. 14–21.
Стрелец А.И., Черникова Е.А., Малков Л.В., Дождев А.И. Структура компилятора одноразовой программы // Международный журнал гуманитарных и естественных наук. 2019. № 1-1. С. 146–147.
Третьяк А.В. Значимость отступов при разработке лексического анализатора компиляторов // Молодежь. Наука. Инновации. 2021. Т. 1. С. 306–309.
Штейнберг Б.Я. Преобразования программ – фундаментальная основа создания оптимизирующих распараллеливающих компиляторов // Программные системы: теория и приложения. 2021. Т. 12. № 1 (48). С. 21–113.
Chen Ge. CRAC: An automatic assistant compiler of checkpoint/restart for OpenCL program // Concurrency and Computation: Practice and Experience. 2022. Vol. 34. No. 8. Pp. 14–22.
Huang Ya., Xie B. Fine-grained compiler identification with sequence-oriented neural modeling // IEEE Access: Practical Innovations, Open Solutions. 2021. Vol. 9. Pp. 49160–49175.
Sampson A., Adit N. Performance left on the table: An evaluation of compiler autovectorization for RISC-V // IEEE Micro. 2022. Vol. 42. No. 5. Pp. 41–48.
Tang Yi., Zhou Zh.. Detecting compiler warning defects via diversity-guided program mutation // IEEE Transactions on Software Engineering. 2021. Vol. 48. No. 11. Pp. 4411–4432.
Tewary M., Salcic Z.. Compiler-assisted energy reduction of java real-time programs // Microprocessors and Microsystems. 2022. Vol. 89. No. 3. Pp. 78–83.
Wang Zh. Machine learning in compiler optimization // Proceedings of the IEEE. 2018. Vol. 106. No. 11. Pp. 1879–1901.
Баглий А.П., Кривошеев Н.М., Штейнберг Б.Я. Автоматизация распараллеливания программ с оптимизацией пересылок данных // Научный сервис в сети Интернет. 2022. № 24. С. 81–92.
Болотнов А.М., Нурисламова Э.А. Влияние оптимизации компилятора GCC на эффективность программного кода в языке C++ // Современные наукоемкие технологии. 2019. № 12-2. С. 266–270.
Вьюкова Н.И., Галатенко В.А., Самборский С.В. Средства динамического анализа программ в компиляторах GCC и CLANG // Программирование. 2020. № 4. С. 46–64.
Малявко А.А. Обработка ошибок в синтаксическом анализаторе компилятора языка EL // Научный вестник Новосибирского гос. техн. ун-та. 2019. № 2 (75). С. 37–48.
Советов П.Н. Итеративный подход с использованием компилятора для синтеза и моделирования проблемно-ориентированного набора команд // International Journal of Open Information Technologies. 2019. Т. 7. № 10. С. 14–21.
Стрелец А.И., Черникова Е.А., Малков Л.В., Дождев А.И. Структура компилятора одноразовой программы // Международный журнал гуманитарных и естественных наук. 2019. № 1-1. С. 146–147.
Третьяк А.В. Значимость отступов при разработке лексического анализатора компиляторов // Молодежь. Наука. Инновации. 2021. Т. 1. С. 306–309.
Штейнберг Б.Я. Преобразования программ – фундаментальная основа создания оптимизирующих распараллеливающих компиляторов // Программные системы: теория и приложения. 2021. Т. 12. № 1 (48). С. 21–113.
Ключевые слова:
компилятор, программный код, оптимизация, алгоритм, анализ, синтез, машинное обучение.
Статьи по теме
Вычислительные системы и их элементы Страницы: 103-111 DOI: 10.33693/2313-223X-2023-10-1-103-111 Выпуск №22811
Методика разработки скоростного компилятора на основе модифицированного метода оптимизации loop fusion: модели и инструменты его реализации
оптимизация
слияние цикла
реверс
петля
компилятор
Подробнее
5. УГОЛОВНОЕ ПРАВО И КРИМИНОЛОГИЯ, УГОЛОВНО-ИСПОЛНИТЕЛЬНОЕ ПРАВО (СПЕЦИАЛЬНОСТЬ 12.00.08) Страницы: 182-184 Выпуск №16680
О вопросе феномена религиозного фундаментализма: формах проявления и порождающих факторах
фундаментализм
религия
анализ
синтез
исторические вариации
Подробнее
4. МАТЕМАТИЧЕСКИЕ И ИНСТРУМЕНТАЛЬНЫЕ МЕТОДЫ ЭКОНОМИКИ 08.00.13 Страницы: 65-72 Выпуск №19146
Прогнозирование финансовых рынков с использованием сверточной нейронной сети
прогнозирование финансовых рынков
машинное обучение
сверточная нейронная сеть
математическая модель
алгоритм
Подробнее
11. Экономика и управление народным хозяйством, предпринимательство, маркетинг, менеджмент Страницы: 125-128 Выпуск №4641
МОДЕЛЬ УПРАВЛЕНИЯ ОБЪЁМОМ ВЫПУСКАЕМОЙ ПРЕДПРИЯТИЕМ ПРОДУКЦИИ ПРИ ИЗМЕНЕНИИ ЦЕНЫ РЕАЛИЗАЦИИ
математическая модель
управление производством
ценообразование
оптимизация
безубыточность
Подробнее
7. УГОЛОВНОЕ ПРАВО И КРИМИНОЛОГИЯ, УГОЛОВНО-ИСПОЛНИТЕЛЬНОЕ ПРАВО (СПЕЦИАЛЬНОСТЬ 12.00.08) Страницы: 151-156 Выпуск №15895
Ретроспективный анализ законодательной и правоприменительной практики противодействия коррупции
коррупция
ретроспектива
сотрудники правоохранительных органов
законодательство
правоприменение
Подробнее
11. Экономика и управление народным хозяйством, предпринимательство, маркетинг, менеджмент Страницы: 136-141 Выпуск №4641
ОЦЕНКА И АНАЛИЗ РАЗВИТИЯ ИНСТИТУТА ПРЕДПРИНИМАТЕЛЬСТВА В ЭКОНОМИЧЕСКОЙ СИСТЕМЕ
институт предпринимательства
среднее и малое предпринимательство
регион
оценка
анализ
Подробнее
МАТЕМАТИЧЕСКИЕ, СТАТИСТИЧЕСКИЕ И ИНСТРУМЕНТАЛЬНЫЕ МЕТОДЫ В ЭКОНОМИКЕ Страницы: 209-215 Выпуск №24576
Потенциал машинного обучения и искусственного интеллекта для развития венчурного инвестирования в России
венчурное инвестирование
венчурный капитал
стартап-проекты
машинное обучение
искусственный интеллект
Подробнее
МАТЕМАТИЧЕСКИЕ, СТАТИСТИЧЕСКИЕ И ИНСТРУМЕНТАЛЬНЫЕ МЕТОДЫ В ЭКОНОМИКЕ Страницы: 258-267 DOI: 10.33693/2541-8025-2024-20-4-258-267 Выпуск №133764
Оптимизация и прогнозирование портфеля ценных бумаг на основе методов машинного обучения
оптимизация
портфель ценных бумаг
прогнозирование
методы машинного обучения
доходность
Подробнее
16. СОЦИАЛЬНАЯ ФИЛОСОФИЯ (СПЕЦИАЛЬНОСТЬ 09.00.11) Страницы: 147-150 Выпуск №15329
ОПТИМИЗАЦИЯ КОММУНИКАТИВНОЙ ДЕЯТЕЛЬНОСТИ КАК СТРАТЕГИИ ВЕДЕНИЯ СОВРЕМЕННОЙ ИНФОРМАЦИОННОЙ ВОЙНЫ
информационное противоборство
информационная война
социогуманитарная технология
коммуникативная деятельность
оптимизация
Подробнее
Искусственный интеллект и машинное обучение Страницы: 11-21 DOI: 10.33693/2313-223X-2024-11-2-11-21 Выпуск №119881
Разработка торговой стратегии криптовалюты с применением методов машинного обучения
криптовалюта
биткоин
торговые стратегии
машинное обучение
скользящие средние
Подробнее