• Концепция преобразований.
  • Qarshi davlat universiteti international scientific and practical conference on algorithms and current problems of programming




    Download 15,84 Mb.
    Pdf ko'rish
    bet110/551
    Sana15.05.2024
    Hajmi15,84 Mb.
    #234763
    1   ...   106   107   108   109   110   111   112   113   ...   551
    Bog'liq
    Asosiy oxirgi 17.05.2023 18.20

    Основная часть. 
    Целью оптимизирующих преобразований является повышение 
    производительности программ при сохранении их корректности. Чаще они 
    реализуются методами оптимизирующих преобразований. Преобразования − это 
    операции, которые изменяют способ работы написанной исходной программы без 
    изменения ее функциональности. Они широко используются (не только) в создании 
    оптимизаторов. Преобразования могут быть реализованы на различных формах 
    представления программы, таких как исходный код, промежуточные IR 
    формы/программы и машинный код (двоичный код) [1]. 


    138 
    Концепция преобразований. 
    В оптимизации программного обеспечения 
    преобразования используются для преобразования программ с сохранением их 
    семантики (смысла) путём трансформации. Трансформацию можно описать как 
    модификацию (изменение) программы, которая изменяет способ работы программы 
    без изменения ее функциональности. Преобразования можно разделить на разные 
    категории в зависимости от объема и типа формы приложения, над которой они 
    работают [1, 2]. 
    Локальные преобразования изменяют небольшую часть программы, а 
    глобальные преобразования изменяют всю программу. Термины «Преобразования 
    на исходном уровне» и «Преобразования на уровне IR» относятся к двум различным 
    типам преобразований, каждое из которых работает с другой формой программы. 
    Преобразования на уровне исходного кода работают с с удобочитаемым текстом, 
    написанным программистом. Эти преобразования изменяют поведение программы, 
    изменяя структуру или содержимое исходного кода, например, перестраивая 
    операторы, заменяя выражения или удаляя мертвый код. Преобразования уровня IR 
    работают с представлением, которое представляет собой машиночитаемую форму, 
    используемую во время компиляции. Преобразования на уровне IR изменяют 
    поведение программы, изменяя саму IR, а не исходный код. 
    Преобразования циклов
    используются для оптимизации циклов в программах. Эти 
    преобразования включают их развертывание, разделение, обмен и распределение. 
    Они могут повысить производительность программ за счет сокращения накладных 
    расходов на инструкции управления циклом и улучшения методов доступа к памяти. 
    Они относятся к набору методов, используемых для оптимизации циклов. 
    Преобразования циклов включают в себя различные методы, такие как 
    развертывание цикла, слияние циклов, обмен циклами и распределение циклов. 
    Преобразования потока данных
    используются для оптимизации зависимостей 
    данных в программах. Эти преобразования включают устранение общего 
    подвыражения, распространение констант, устранение мертвого кода и 
    распространение копирования. 
    Преобразования потока управления 
    используются 
    для оптимизации управляющих структур в программах. Эти преобразования 
    включают преобразование if, преобразование switch и устранение ветвления. «if-
    преобразование», «переключение-преобразование» и «удаление ветвей» — это 
    методы, используемые для оптимизации структур потока управления в 
    компьютерных программах. Это может быть полезно в случаях, когда условие 
    известно заранее. «Переключение-преобразование» − это аналогичный метод, 
    который заменяет операторы переключения, используемые для проверки 
    переменной на диапазон значений, эквивалентным кодом, который не использует 
    операторы переключения. «Устранение веток» − это метод, удаляющий ненужные 
    ветки 
    из 
    кода. 
    Преобразования 
    потока 
    управления
    могут 
    повысить 
    производительность программ за счет сокращения накладных расходов на 
    управляющие структуры и повышения точности прогнозов сети. 
    Преобразования 
    переупорядочения кода.
    Преобразования переупорядочения кода используются для 
    оптимизации порядка кода в программах. Эти преобразования включают 
    перемещение кода, репликацию кода и планирование инструкций. Преобразования 
    по переупорядочению кода могут, например, повысить производительность 
    программ за счет повышения эффективности конвейеров инструкций. В частности, 
    «Планирование инструкций» 
    − это метод, который включает переупорядочивание 
    инструкций в программе для повышения эффективности конвейеров инструкций. 
    Это важно в современных компьютерных архитектурах, использующих конвейерные 
    процессоры [1-3]. 


    139 

    Download 15,84 Mb.
    1   ...   106   107   108   109   110   111   112   113   ...   551




    Download 15,84 Mb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Qarshi davlat universiteti international scientific and practical conference on algorithms and current problems of programming

    Download 15,84 Mb.
    Pdf ko'rish