# Mettle 0.17.0
robot (spnet, 1) → All – 11:44:04 2026-09-03
<a href="https://www.linux.org.ru/images/24004/original.png" itemprop="contentURL">
<img
itemprop="thumbnail"
class="medium-image"
src="https://www.linux.org.ru/images/24004/1000px.jpg"
alt="Mettle 0.17.0"
srcset="images/24004/500px.jpg 500w, images/24004/1000px.jpg 1000w, images/24004/1500px.jpg 1500w, https://www.linux.org.ru/images/24004/original.png 1920w"
sizes="100vw" style="position: absolute; max-height: 90vh"
width=1000 height=563>
</a>
1 сентября состоялся выпуск 0.17.0 компилятора языка системного программирования [ Mettle ]( https://github.com/suidvandiewereld/Mettle ) и библиотеки [ libmtlc ]( https://github.com/suidvandiewereld/Mettle/tree/main/docs/libmtlc ) .
Основные возможности:
• Без LLVM, виртуальной машины и сборки мусора.
• Нативная генерация кода CPU: x86-64 (+ AVX2), ARM64.
• Нативная генерация кода GPU: NVIDIA PTX, SPIR-V (подробнее: [ gpu.md ]( https://github.com/suidvandiewereld/Mettle/blob/main/docs/gpu.md ) ).
• Нативная компоновка Windows PE и ELF (подробнее: [ linker-build-pipelines.md ]( https://github.com/suidvandiewereld/Mettle/blob/main/docs/linker-build-pipelines.md ) ).
• Без сторонних runtime (подробнее: [ runtime-model.md ]( https://github.com/suidvandiewereld/Mettle/blob/main/docs/runtime-model.md ) ).
• Собственный промежуточный язык (подробнее: [ ir.md ]( https://github.com/suidvandiewereld/Mettle/blob/main/docs/libmtlc/ir.md ) ).
• Классические оптимизаторы кода и экспериментальная оптимизация на обученной нейросети (подробнее: [ ml-opt.md ]( https://github.com/suidvandiewereld/Mettle/blob/main/docs/ml-opt.md ) ).
• Встроенный ассемблер.
• Собственный отладчик на уровне исходного кода:
• без внешних форматов;
• точки останова, пошаговая отладка, а также чтение и запись переменных в реальном времени с опцией компилятора --debug-hooks;
• без gdb, PDB и DWARF.
• Тестирование во время компиляции: функции с атрибутом @test запускаются в интерпретаторе компилятора командой mettle test, без создания бинарного файла. Команда mettle trace интерпретирует одну функцию и выводит построчное отслеживание значений. Команда --pgo интерпретирует функцию main() на этапе сборки и передаёт измеренные частоты вызовов обратно в оптимизатор (подробнее: [ testing.md ]( https://github.com/suidvandiewereld/Mettle/blob/main/docs/testing.md ) ).
• Проверка безопасности памяти командой --safe (подробнее: [ memory-safety.md ]( https://github.com/suidvandiewereld/Mettle/blob/main/docs/memory-safety.md ) ).
• Проверка заимствований (подробнее: [ borrow checker.md ]( https://github.com/suidvandiewereld/Mettle/blob/main/docs/borrow-checker.md ) ).
Проект написан на языке C и распространяется по лицензии Apache 2.0.
( [ читать дальше... ]( https://www.linux.org.ru/news/development/18371611#cut ) )
>>> [ Исходный код ]( https://github.com/suidvandiewereld/Mettle ) на GitHub
>>> [ Документация ]( https://github.com/suidvandiewereld/Mettle/blob/main/docs/README.md )
>>> [ Бенчмарки ]( https://github.com/suidvandiewereld/Mettle/blob/main/docs/benchmarks/README.md )
robot (spnet, 1) → All – 11:44:04 2026-09-03
<a href="https://www.linux.org.ru/images/24004/original.png" itemprop="contentURL">
<img
itemprop="thumbnail"
class="medium-image"
src="https://www.linux.org.ru/images/24004/1000px.jpg"
alt="Mettle 0.17.0"
srcset="images/24004/500px.jpg 500w, images/24004/1000px.jpg 1000w, images/24004/1500px.jpg 1500w, https://www.linux.org.ru/images/24004/original.png 1920w"
sizes="100vw" style="position: absolute; max-height: 90vh"
width=1000 height=563>
</a>
1 сентября состоялся выпуск 0.17.0 компилятора языка системного программирования [ Mettle ]( https://github.com/suidvandiewereld/Mettle ) и библиотеки [ libmtlc ]( https://github.com/suidvandiewereld/Mettle/tree/main/docs/libmtlc ) .
Основные возможности:
• Без LLVM, виртуальной машины и сборки мусора.
• Нативная генерация кода CPU: x86-64 (+ AVX2), ARM64.
• Нативная генерация кода GPU: NVIDIA PTX, SPIR-V (подробнее: [ gpu.md ]( https://github.com/suidvandiewereld/Mettle/blob/main/docs/gpu.md ) ).
• Нативная компоновка Windows PE и ELF (подробнее: [ linker-build-pipelines.md ]( https://github.com/suidvandiewereld/Mettle/blob/main/docs/linker-build-pipelines.md ) ).
• Без сторонних runtime (подробнее: [ runtime-model.md ]( https://github.com/suidvandiewereld/Mettle/blob/main/docs/runtime-model.md ) ).
• Собственный промежуточный язык (подробнее: [ ir.md ]( https://github.com/suidvandiewereld/Mettle/blob/main/docs/libmtlc/ir.md ) ).
• Классические оптимизаторы кода и экспериментальная оптимизация на обученной нейросети (подробнее: [ ml-opt.md ]( https://github.com/suidvandiewereld/Mettle/blob/main/docs/ml-opt.md ) ).
• Встроенный ассемблер.
• Собственный отладчик на уровне исходного кода:
• без внешних форматов;
• точки останова, пошаговая отладка, а также чтение и запись переменных в реальном времени с опцией компилятора --debug-hooks;
• без gdb, PDB и DWARF.
• Тестирование во время компиляции: функции с атрибутом @test запускаются в интерпретаторе компилятора командой mettle test, без создания бинарного файла. Команда mettle trace интерпретирует одну функцию и выводит построчное отслеживание значений. Команда --pgo интерпретирует функцию main() на этапе сборки и передаёт измеренные частоты вызовов обратно в оптимизатор (подробнее: [ testing.md ]( https://github.com/suidvandiewereld/Mettle/blob/main/docs/testing.md ) ).
• Проверка безопасности памяти командой --safe (подробнее: [ memory-safety.md ]( https://github.com/suidvandiewereld/Mettle/blob/main/docs/memory-safety.md ) ).
• Проверка заимствований (подробнее: [ borrow checker.md ]( https://github.com/suidvandiewereld/Mettle/blob/main/docs/borrow-checker.md ) ).
Проект написан на языке C и распространяется по лицензии Apache 2.0.
( [ читать дальше... ]( https://www.linux.org.ru/news/development/18371611#cut ) )
>>> [ Исходный код ]( https://github.com/suidvandiewereld/Mettle ) на GitHub
>>> [ Документация ]( https://github.com/suidvandiewereld/Mettle/blob/main/docs/README.md )
>>> [ Бенчмарки ]( https://github.com/suidvandiewereld/Mettle/blob/main/docs/benchmarks/README.md )