TPDE вышел в open-source и уже положил Clang на лопатки
NewsMakerВ 20 раз быстрее без оптимизаций.
Исследователи из Технического университета Мюнхена (TUM) представили TPDE — инструмент для быстрой компиляции кода, который способен ускорить сборку для архитектур x86_64 и AArch64 в 10–20 раз по сравнению с LLVM Clang на базовом уровне оптимизации
TPDE работает как самостоятельный модуль генерации кода, совместимый с SSA IR и заточенный под низкую задержку компиляции. В текущей версии поддерживаются только платформы с ELF — x86-64 и AArch64 (Armv8.1). Качество кода на уровне
Отдельный компонент, TPDE-LLVM , представляет собой backend для LLVM IR, который компилирует код в 10–20 раз быстрее, чем стандартный LLVM на
Разработчики также представили TPDE на форуме LLVM.org Discourse , где подробно описали особенности фреймворка, привели данные тестирования и сравнения со стандартным LLVM. В частности, они указали, что их решение поддерживает типичный поднабор LLVM IR и фокусируется только на x86-64 и AArch64.
В результатах бенчмарков SPEC CPU 2017, опубликованных вместе с анонсом, TPDE стабильно показывает в 10–20 раз более короткое время сборки при аналогичной производительности итогового кода. Единственным компромиссом оказывается увеличенный размер бинарников — на 10–30%.
Важно подчеркнуть, что TPDE не конкурирует с LLVM на уровнях
Сейчас проект сосредоточен на

Исследователи из Технического университета Мюнхена (TUM) представили TPDE — инструмент для быстрой компиляции кода, который способен ускорить сборку для архитектур x86_64 и AArch64 в 10–20 раз по сравнению с LLVM Clang на базовом уровне оптимизации
-O0
. Новый backend-компилятор ориентирован на задачи с минимальной задержкой — например, для JIT-сборки или быстрой отладки без оптимизаций. Исходный код проекта уже доступен на GitHub , а описание архитектуры опубликовано в научной статье на arXiv . TPDE работает как самостоятельный модуль генерации кода, совместимый с SSA IR и заточенный под низкую задержку компиляции. В текущей версии поддерживаются только платформы с ELF — x86-64 и AArch64 (Armv8.1). Качество кода на уровне
-O0
, по утверждению авторов, вполне сопоставимо с LLVM, при этом время сборки сокращается в разы. Отдельный компонент, TPDE-LLVM , представляет собой backend для LLVM IR, который компилирует код в 10–20 раз быстрее, чем стандартный LLVM на
-O0
. Его можно использовать как библиотеку, отдельную утилиту (tpde-llc
) или встроить в Clang/Flang с помощью патча. Такой подход делает TPDE привлекательным для JIT-систем, где важны скорость и предсказуемость сборки. Разработчики также представили TPDE на форуме LLVM.org Discourse , где подробно описали особенности фреймворка, привели данные тестирования и сравнения со стандартным LLVM. В частности, они указали, что их решение поддерживает типичный поднабор LLVM IR и фокусируется только на x86-64 и AArch64.
В результатах бенчмарков SPEC CPU 2017, опубликованных вместе с анонсом, TPDE стабильно показывает в 10–20 раз более короткое время сборки при аналогичной производительности итогового кода. Единственным компромиссом оказывается увеличенный размер бинарников — на 10–30%.
Важно подчеркнуть, что TPDE не конкурирует с LLVM на уровнях
-O2
или -O3
, где активны продвинутые оптимизации. Его задача — быстрое получение рабочего кода с минимальной задержкой, например, при частой перекомпиляции в ходе отладки или в средах с ограниченными ресурсами. Сейчас проект сосредоточен на
-O0
и -O1
, но команда TUM надеется развивать TPDE дальше — расширять поддержку LLVM IR и исследовать возможности ускоренной компиляции с оптимизациями. В условиях роста интереса к JIT и edge-компиляции это направление может получить широкое распространение.