Jump to content

Рематериализация

В информатике рематериализация , которая экономит или remat — это оптимизация компилятора время за счет повторного вычисления значения вместо загрузки его из памяти. Обычно он тесно интегрирован с распределением регистров , где используется в качестве альтернативы выгрузке регистров в память. Он был задуман Грегори Чайтином , Марком Ауслендером , Ашоком Чандрой , Джоном Коком , Мартином Хопкинсом и Питером Маркштейном и реализован в компиляторе Pl.8 для миникомпьютера 801 в конце 1970-х годов. Более поздние улучшения были сделаны Престоном Бриггсом , Китом Д. Купером и Линдой Торчон в 1992 году.

Традиционные оптимизации, такие как исключение общих подвыражений и инвариант цикла, часто направлены на устранение избыточных вычислений. Поскольку для вычислений требуются циклы ЦП , это обычно хорошо, но имеет потенциально разрушительный побочный эффект, заключающийся в увеличении действующих диапазонов переменных и создании множества новых переменных, что приводит к утечкам информации во время выделения регистров. Рематериализация почти противоположна: она уменьшает нагрузку на регистры за счет увеличения объема вычислений ЦП. Чтобы избежать увеличения времени вычислений, чем необходимо, рематериализация выполняется только тогда, когда компилятор может быть уверен, что это принесет пользу, то есть когда в противном случае произошла бы утечка регистра в память.

Рематериализация работает, отслеживая выражение, используемое для вычисления каждой переменной, используя концепцию доступных выражений . Иногда переменные, используемые для вычисления значения, изменяются, и поэтому их больше нельзя использовать для повторной материализации этого значения. Тогда говорят, что выражение больше недоступно. Другие критерии также должны быть выполнены, например, максимальная сложность выражения, используемого для повторной материализации значения; было бы бесполезно повторно материализовать значение с помощью сложных вычислений, которые занимают больше времени, чем загрузка. Обычно выражение также не должно иметь побочных эффектов .

[ редактировать ]
  • Чайтин, Грегори, Марк Ауслендер, Ашок Чандра, Джон Кок, Мартин Хопкинс и Питер Маркштейн. «Распределение регистров с помощью раскраски, Компьютерные языки, том 6, № 1, 1981, стр. 47–57»
  • П. Бриггс, К.Д. Купер и Л. Торчон. Рематериализация . Материалы конференции SIGPLAN 92 по проектированию и реализации языков программирования , SIGPLAN Notifications 27 (7), стр. 311-321. Июль 1992 года.
  • Мукта Пенджаби. Зарегистрируйте рематериализацию в GCC . Обсуждается gcc . реализация рематериализации в
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 1846433e85b543f6f21bf548c27bf0bd__1679320500
URL1:https://arc.ask3.ru/arc/aa/18/bd/1846433e85b543f6f21bf548c27bf0bd.html
Заголовок, (Title) документа по адресу, URL1:
Rematerialization - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)