Дерево след представляет собой структуру данных , которая используется во время выполнения компиляции программного кода . Деревья трассировки используются при отслеживании своевременной компиляции, где трассировка используется во время выполнения кода для поиска горячих точек перед компиляцией. Когда эти горячие точки снова вводятся, вместо них запускается скомпилированный код. Каждый выполненный оператор отслеживается, в том числе в вызовах других функций , и компилируется весь путь выполнения. Это отличается от компиляции отдельных функций. Можно получить больше информации, что позволит лучше оптимизировать компилятор., включая удаление некоторых накладных расходов на вызов функций. Интерпретатор вызывается для продолжения всякий раз, когда скомпилированный код вызывает код вне контекстов компиляции.
Рекомендации
- Бала, Васант; Дюстервальд, Эвелин; Банерджиа, Санджив (июнь 1999 г.), Прозрачная динамическая оптимизация: разработка и внедрение Dynamo , получено 18 декабря 2020 г.
- Галь, Андреас ; Франц, Майкл (ноябрь 2006 г.), Построение инкрементного динамического кода с деревьями трассировки (PDF) , CiteSeerX 10.1.1.113.557 , S2CID 9352256 , получено 18 декабря 2020 г.
- Галь, Андреас ; Бебенита, Майкл; Чанг, Мейсон; Франц, Майкл (октябрь 2007 г.), Создание явного «конвейера» компиляции: динамическая компиляция с использованием сериализации дерева трассировки , CiteSeerX 10.1.1.85.2412 , S2CID 14848180 , получено 18 декабря 2020 г.
- Двойник, Крис (февраль 2008 г.), Краткое введение в отслеживание тамарина , получено 18 декабря 2020 г.
- Чанг, Мейсон (12 января 2009 г.), Разница между расширенными базовыми блоками и трассировками , заархивировано из оригинала 29 января 2020 г.
- Больц, Карл Фридрих (2 марта 2009 г.), Блог PyPy: Применение JIT-трассировки к интерпретатору , получено 18 декабря 2020 г.