Loading AI tools
Из Википедии, свободной энциклопедии
Адаптивная оптимизация — техника в информатике и программировании, которая производит динамическую перекомпиляцию фрагментов программы, основываясь на текущем профиле исполнения. В простейшем случае реализации адаптивный оптимизатор может просто выбирать между компиляцией на лету и интерпретацией инструкций. На другом уровне адаптивная оптимизация может использовать преимущества локальных условий по данным для оптимизации ветвлений и использовать встраивания функций (англ. Inline expansion), чтобы уменьшить количество переключений контекста.
Рассмотрим гипотетическое банковское приложение, которое обрабатывает транзакции друг за другом. Эти транзакции могут быть списаниями, взносами и множеством других непонятных операций. Когда программа выполняется, фактические данные могут состоять из очистки десятков тысяч списаний без единой обработки взноса и без единой обработки списания с мошеннического счёта. Адаптивный оптимизатор будет компилировать в машинный код, оптимизируя его для общего случая. Если система затем начинает вместо этого обрабатывать десятки тысяч взносов, адаптивный оптимизатор перекомпилирует в машинный код, чтобы оптимизировать для новых общих условий. Эти оптимизации могут включать встраивание функций или перемещение кода обработки ошибок во вторичный кэш.
В некоторых системах, в частности в виртуальной машине Java, выполнение диапазона инструкций байткода доказуемо может быть обращено. Это позволяет адаптивному оптимизатору делать рискованные предположения о коде. В примере выше оптимизатор может предполагать, что все транзакции являются списаниями и все номера счетов правильны. Когда эти предположения оказываются неверными, адаптивный оптимизатор может "откатиться" к правильному состоянию и затем интерпретировать инструкции байткода корректно.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.