<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>@alexvoste</title><subtitle>Systems Engineer &amp;&amp; Developer of ForgeZero
</subtitle><author><name>@alexvoste</name></author><id>https://teletype.in/atom/alexvoste</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/alexvoste?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@alexvoste?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=alexvoste"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/alexvoste?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-05-24T02:32:55.838Z</updated><entry><id>alexvoste:HTIDn3elkE7</id><link rel="alternate" type="text/html" href="https://teletype.in/@alexvoste/HTIDn3elkE7?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=alexvoste"></link><title>ForgeZero 4.0: Как я переписал билдер для Си/Ассемблера на Go и выжал 0 аллокаций памяти в горячих путях</title><published>2026-05-23T19:19:45.050Z</published><updated>2026-05-23T19:21:25.583Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/ec/0c/ec0ca22f-3b20-44b4-b2b0-0135a535980f.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img1.teletype.in/files/05/34/05349995-bf6e-4f95-8789-94727b66f856.png&quot;&gt;Привет! Я AlexVoste, создатель ForgeZero (fz). Если вы когда-нибудь пробовали писать низкоуровневый софт, собирать кастомные загрузчики (bootloaders) или операционные системы, то наверняка сталкивались с «адом многострочных Makefile». Забудьте. Я создал декларативную альтернативу на Go, и сегодня состоялся релиз ForgeZero 4.0.</summary><content type="html">
  &lt;p id=&quot;wr2t&quot;&gt;Привет! Я AlexVoste, создатель &lt;strong&gt;ForgeZero (&lt;code&gt;fz&lt;/code&gt;)&lt;/strong&gt;. Если вы когда-нибудь пробовали писать низкоуровневый софт, собирать кастомные загрузчики (bootloaders) или операционные системы, то наверняка сталкивались с «адом многострочных &lt;code&gt;Makefile&lt;/code&gt;». Забудьте. Я создал декларативную альтернативу на Go, и сегодня состоялся релиз &lt;strong&gt;ForgeZero 4.0&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;Boes&quot;&gt;Изначально проект задумывался как простой CLI-инструмент, написанный на Node.js. Но для низкоуровневого билдера скорость — это всё. Прототип на Node.js безжалостно тормозил. Я принял решение полностью переписать ядро на &lt;strong&gt;Go&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;8QSL&quot;&gt;В версии 4.0 я поставил перед собой безумную цель: сделать инструмент компиляции настолько быстрым, насколько это вообще позволяет рантайм Go.&lt;/p&gt;
  &lt;figure id=&quot;SIPC&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/05/34/05349995-bf6e-4f95-8789-94727b66f856.png&quot; width=&quot;1280&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;X86s&quot;&gt;&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;lUul&quot;&gt;🚀 Что под капотом у ForgeZero 4.0?&lt;/p&gt;
  &lt;p id=&quot;UvYv&quot;&gt;1. Абсолютная оптимизация: 0 allocs/op&lt;/p&gt;
  &lt;p id=&quot;uIoY&quot;&gt;Я полностью перепроектировал горячие пути (hot paths) выполнения бинарника. Путем жесткого профилирования, пулинга объектов и оптимизации парсинга удалось добиться &lt;strong&gt;0 аллокаций в куче на одну операцию&lt;/strong&gt; при сборке. Инструмент не тратит ни одной лишней микросекунды на сборку мусора (GC) во время компиляции пайплайнов.&lt;/p&gt;
  &lt;p id=&quot;Apxj&quot;&gt;2. Native Bare-Metal и плоские бинарники&lt;/p&gt;
  &lt;p id=&quot;hhpk&quot;&gt;Специально для фанатов OS Dev и эмбеддеров: &lt;code&gt;fz&lt;/code&gt; теперь из коробки умеет компилировать плоские бинарники (&lt;code&gt;.bin&lt;/code&gt;). Больше никаких костыльных оверрайдов для линкера в &lt;code&gt;Make&lt;/code&gt; — всё настраивается в один клик.&lt;/p&gt;
  &lt;p id=&quot;5Q5k&quot;&gt;3. Криптографический кэш на BLAKE3&lt;/p&gt;
  &lt;p id=&quot;C8Zf&quot;&gt;Инкрементальная сборка теперь работает на базе сверхбыстрого хеширования BLAKE3. Билдер мгновенно понимает, какие файлы исходного кода изменились, а какие можно подтянуть из кэша, экономя секунды на больших проектах.&lt;/p&gt;
  &lt;p id=&quot;hyub&quot;&gt;4. Слой HADES и декларативный конфиг&lt;/p&gt;
  &lt;p id=&quot;BnPv&quot;&gt;Вместо императивного ада скриптов, вся сборка вашего C/ASM проекта теперь описывается в чистом, понятном человеческому глазу файле &lt;code&gt;.fz.yaml&lt;/code&gt;. Архитектура управляется низкоуровневым слоем абстракции HADES.&lt;/p&gt;
  &lt;p id=&quot;jcfp&quot;&gt;5. Полная автономность: Ноль зависимостей (No GCC/NASM required)&lt;/p&gt;
  &lt;p id=&quot;7Ptx&quot;&gt;Самая большая боль при настройке окружения для новичка — это установка компиляторов, прописывание путей в &lt;code&gt;PATH&lt;/code&gt; и конфликты версий. С ForgeZero 4.0 вам &lt;strong&gt;не нужно предварительно устанавливать GCC, Clang, NASM или FASM&lt;/strong&gt;. Инструмент полностью автономен. Вы просто скачиваете один единственный бинарник &lt;code&gt;fz&lt;/code&gt;, и он сам берёт на себя всю низкоуровневую магию компиляции и сборки. Развертывание рабочего окружения теперь занимает ровно 3 секунды.&lt;/p&gt;
  &lt;p id=&quot;1HKR&quot;&gt;6. Нативная работа на Windows (Никакого WSL!)&lt;/p&gt;
  &lt;p id=&quot;wzy4&quot;&gt;Большинство современных инструментов сборки для C/ASM требуют либо Linux, либо развертывания тяжелых сред вроде WSL2 или MSYS2 на Windows. ForgeZero 4.0 работает на Windows &lt;strong&gt;абсолютно нативно. &lt;em&gt;Вы просто скачиваете один бинарник и собираете свои проекты прямо в классическом PowerShell или CMD. Всё необходимое окружение ForgeZero развернет сам.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;VUpP&quot;&gt;🔗 Где пощупать?&lt;/p&gt;
  &lt;p id=&quot;ObH1&quot;&gt;Проект полностью бесплатный, независимый и Open-Source.&lt;/p&gt;
  &lt;ul id=&quot;FWrz&quot;&gt;
    &lt;li id=&quot;m33v&quot;&gt;&lt;strong&gt;Репозиторий на GitHub:&lt;/strong&gt; &lt;a href=&quot;https://github.com/forgezero-cli/forgezero&quot; target=&quot;_blank&quot;&gt;https://github.com/forgezero-cli/forgezero&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;0hVp&quot;&gt;Буду рад любому хардкорному инженерному фидбеку. Как вам идея декларативной сборки для C/ASM? Пишите в комментарии, обсудим архитектуру HADES и оптимизацию Go!&lt;/p&gt;

</content></entry></feed>