Zig вместо C: пишем высокопроизводительный CLI-инструмент и заменяем 3000 строк C-кода
Всё началось на второй паре по системному программированию. Нам дали задачу: написать CLI-утилиту для анализа логов - парсить файл, фильтровать записи по уровню ошибок, считать статистику, выводить красиво в консоль. "Ну понятно", - открыл я vim и началось мое долгое приключение...Неделя. Две. Утилита называлась log...
Всё началось на второй паре по системному программированию. Нам дали задачу: написать CLI-утилиту для анализа логов - парсить файл, фильтровать записи по уровню ошибок, считать статистику, выводить красиво в консоль. "Ну понятно", - открыл я vim и началось мое долгое приключение...Неделя. Две. Утилита называлась logz, она умела читать логи nginx и apache, фильтровать по уровню (DEBUG, INFO, WARN, ERROR), по дате, по IP, выводила топ адресов с наибольшим числом ошибок, рисовала простенький bar-chart прямо в терминале через unicode-символы. Только вот я сидел как-то вечером, запустил wc -l main.c - 3147 строк. И смотрел на это число минуты три с таким лицом - O_O.Сама утилита работала. Но открывая её осознаешь что - это месиво. Одна функция process_file на 400 строк. Сегфолты раз в неделю. Valgrind как лучший друг. И каждый раз когда надо добавить фичу - сначала полчаса вспоминаешь что вообще происходит в коде.Потом я случайно прочитал пост про Zig на lobste.rs. Заинтересовался и попробовал. Через месяц у меня была та же утилита, но теперь на 1089 строках, которая работала быстрее и не падала.Тут я понял что вот золотая жила и расскажу о том - зачем Zig, как переписывал, где облажался и что вышло в итоге. Смотреть как горит C-код
Краткая сводка
Автор переписал собственную CLI‑утилиту для анализа логов, изначально написанную на C (~3000 строк), на язык Zig, сократив код до ~1089 строк и повысив производительность и надёжность.
Связанные теги
Компании и люди
Линия сюжета
C#
Последние материалы и связанный контекст по теме C#.
CLI
Последние материалы и связанный контекст по теме CLI.
CLI
Последние материалы и связанные ссылки по теме CLI.
Cтрою
Последние материалы и связанные ссылки по теме Cтрою.
Habr
Последние материалы и связанные ссылки по теме Habr.
Habr
Последние материалы и связанный контекст по теме Habr.
Продолжить следить за темой
Переходите к связанным материалам, страницам сущностей и активным линиям сюжета.
Как я обрабатываю 15 миллионов GPS-пингов в день для системы транспортной аналитики Ташкента
В Ташкенте курсируют около 1 800 активных автобусов на 170 маршрутах. Их GPS-координаты поступают каждые 10 секунд. В сутки это составляет порядка 15 миллионов координатных пинг...
[Перевод] OpenAI: сделка с Пентагоном, бойкот, иск на $134 млрд и война. Полная хронология краха
В феврале CEO Anthropic заявил, что не может «по совести» дать Министерству обороны неограниченный доступ к своим ИИ-системам. Через несколько часов администрация Трампа назвала...
[Перевод] Как распознавать контент, созданный нейросетями (рекомендации для репортеров)
В наши дни соотношение полезного сигнала и шума в информационном пространстве приближается к единице. Иными словами, дезинформации почти столько же, сколько реальных фактов — и ...
KPI по ИИ: как «эффективность» убивает мотивацию разработчика (и при чем тут синдром самозванца)
Всем привет. Меня зовут Максим, я разработчик в одном из крупных финтехов России. У нас сейчас (наверно, как и у всех) интенсивно вводят ИИ-агенты для написания кода. Плюс необх...
DIY: Ардуино и холодильная комната
Началась эта история еще осенью, когда мне вдруг потребовалось небольшое помещение в доме, в котором поддерживалась бы стабильная температура +7 градусов. Ну, почти как серверна...
Вайбкодинг по Chess’ноку. 1. e4
От вайбкодинга к профессиональной ИИ-разработке на примере LanChess: 3300 промптов, 832 коммита, 100 тыс. строк кода и путь от POC к продакшен-сервису.Поздний вечер, я смотрю в ...
Рекламный слот
Встроенный блок в статье
Зарезервированный партнерский слот для релевантных инструментов, сервисов и аккуратных редакционных интеграций.
Похожие статьи
Еще материалы, которые пересекаются по тегам, источнику или категории.
Как я обрабатываю 15 миллионов GPS-пингов в день для системы транспортной аналитики Ташкента
В Ташкенте курсируют около 1 800 активных автобусов на 170 маршрутах. Их GPS-координаты поступают каждые 10 секунд. В сутки это составляет порядка 15 миллионов координатных пинг...
[Перевод] OpenAI: сделка с Пентагоном, бойкот, иск на $134 млрд и война. Полная хронология краха
В феврале CEO Anthropic заявил, что не может «по совести» дать Министерству обороны неограниченный доступ к своим ИИ-системам. Через несколько часов администрация Трампа назвала...
[Перевод] Как распознавать контент, созданный нейросетями (рекомендации для репортеров)
В наши дни соотношение полезного сигнала и шума в информационном пространстве приближается к единице. Иными словами, дезинформации почти столько же, сколько реальных фактов — и ...
KPI по ИИ: как «эффективность» убивает мотивацию разработчика (и при чем тут синдром самозванца)
Всем привет. Меня зовут Максим, я разработчик в одном из крупных финтехов России. У нас сейчас (наверно, как и у всех) интенсивно вводят ИИ-агенты для написания кода. Плюс необх...
Еще материалы от Habr
Свежие публикации и продолжение темы от той же редакции.
Как я обрабатываю 15 миллионов GPS-пингов в день для системы транспортной аналитики Ташкента
В Ташкенте курсируют около 1 800 активных автобусов на 170 маршрутах. Их GPS-координаты поступают каждые 10 секунд. В сутки это составляет порядка 15 миллионов координатных пинг...
[Перевод] OpenAI: сделка с Пентагоном, бойкот, иск на $134 млрд и война. Полная хронология краха
В феврале CEO Anthropic заявил, что не может «по совести» дать Министерству обороны неограниченный доступ к своим ИИ-системам. Через несколько часов администрация Трампа назвала...
[Перевод] Как распознавать контент, созданный нейросетями (рекомендации для репортеров)
В наши дни соотношение полезного сигнала и шума в информационном пространстве приближается к единице. Иными словами, дезинформации почти столько же, сколько реальных фактов — и ...
KPI по ИИ: как «эффективность» убивает мотивацию разработчика (и при чем тут синдром самозванца)
Всем привет. Меня зовут Максим, я разработчик в одном из крупных финтехов России. У нас сейчас (наверно, как и у всех) интенсивно вводят ИИ-агенты для написания кода. Плюс необх...
Дополнительное покрытие этой темы
Похожие публикации и близкие по смыслу материалы по этой же теме.
3000+ часов в Claude Code: как я сконцентрировал весь опыт в трёх плагинах
Я работаю в Claude Code каждый день. Не «попробовал пару раз и написал статью» — а реально каждый день, минимум 8 часов, иногда значительно больше. Больше года. Если грубо посчи...