News Grower

Независимое покрытие AI, стартапов и технологий.

Zig вместо C: пишем высокопроизводительный CLI-инструмент и заменяем 3000 строк C-кода

Всё началось на второй паре по системному программированию. Нам дали задачу: написать CLI-утилиту для анализа логов - парсить файл, фильтровать записи по уровню ошибок, считать статистику, выводить красиво в консоль. "Ну понятно", - открыл я vim и началось мое долгое приключение...Неделя. Две. Утилита называлась log...

Zig вместо C: пишем высокопроизводительный CLI-инструмент и заменяем 3000 строк C-кода

Всё началось на второй паре по системному программированию. Нам дали задачу: написать 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 строк и повысив производительность и надёжность.

Связанные теги

Компании и люди

Линия сюжета

Продолжить следить за темой

Переходите к связанным материалам, страницам сущностей и активным линиям сюжета.

Как я обрабатываю 15 миллионов GPS-пингов в день для системы транспортной аналитики Ташкента

Как я обрабатываю 15 миллионов GPS-пингов в день для системы транспортной аналитики Ташкента

В Ташкенте курсируют около 1 800 активных автобусов на 170 маршрутах. Их GPS-координаты поступают каждые 10 секунд. В сутки это составляет порядка 15 миллионов координатных пинг...

[Перевод] OpenAI: сделка с Пентагоном, бойкот, иск на $134 млрд и война. Полная хронология краха

[Перевод] OpenAI: сделка с Пентагоном, бойкот, иск на $134 млрд и война. Полная хронология краха

В феврале CEO Anthropic заявил, что не может «по совести» дать Министерству обороны неограниченный доступ к своим ИИ-системам. Через несколько часов администрация Трампа назвала...

[Перевод] Как распознавать контент, созданный нейросетями (рекомендации для репортеров)

[Перевод] Как распознавать контент, созданный нейросетями (рекомендации для репортеров)

В наши дни соотношение полезного сигнала и шума в информационном пространстве приближается к единице. Иными словами, дезинформации почти столько же, сколько реальных фактов — и ...

KPI по ИИ: как «эффективность» убивает мотивацию разработчика (и при чем тут синдром самозванца)

KPI по ИИ: как «эффективность» убивает мотивацию разработчика (и при чем тут синдром самозванца)

Всем привет. Меня зовут Максим, я разработчик в одном из крупных финтехов России. У нас сейчас (наверно, как и у всех) интенсивно вводят ИИ-агенты для написания кода. Плюс необх...

DIY: Ардуино и холодильная комната

Началась эта история еще осенью, когда мне вдруг потребовалось небольшое помещение в доме, в котором поддерживалась бы стабильная температура +7 градусов. Ну, почти как серверна...

Рекламный слот

Встроенный блок в статье

Зарезервированный партнерский слот для релевантных инструментов, сервисов и аккуратных редакционных интеграций.

Партнерский слот

Похожие статьи

Еще материалы, которые пересекаются по тегам, источнику или категории.

Как я обрабатываю 15 миллионов GPS-пингов в день для системы транспортной аналитики Ташкента

Как я обрабатываю 15 миллионов GPS-пингов в день для системы транспортной аналитики Ташкента

В Ташкенте курсируют около 1 800 активных автобусов на 170 маршрутах. Их GPS-координаты поступают каждые 10 секунд. В сутки это составляет порядка 15 миллионов координатных пинг...

[Перевод] OpenAI: сделка с Пентагоном, бойкот, иск на $134 млрд и война. Полная хронология краха

[Перевод] OpenAI: сделка с Пентагоном, бойкот, иск на $134 млрд и война. Полная хронология краха

В феврале CEO Anthropic заявил, что не может «по совести» дать Министерству обороны неограниченный доступ к своим ИИ-системам. Через несколько часов администрация Трампа назвала...

[Перевод] Как распознавать контент, созданный нейросетями (рекомендации для репортеров)

[Перевод] Как распознавать контент, созданный нейросетями (рекомендации для репортеров)

В наши дни соотношение полезного сигнала и шума в информационном пространстве приближается к единице. Иными словами, дезинформации почти столько же, сколько реальных фактов — и ...

KPI по ИИ: как «эффективность» убивает мотивацию разработчика (и при чем тут синдром самозванца)

KPI по ИИ: как «эффективность» убивает мотивацию разработчика (и при чем тут синдром самозванца)

Всем привет. Меня зовут Максим, я разработчик в одном из крупных финтехов России. У нас сейчас (наверно, как и у всех) интенсивно вводят ИИ-агенты для написания кода. Плюс необх...

Еще материалы от Habr

Свежие публикации и продолжение темы от той же редакции.

Открыть страницу источника
Как я обрабатываю 15 миллионов GPS-пингов в день для системы транспортной аналитики Ташкента

Как я обрабатываю 15 миллионов GPS-пингов в день для системы транспортной аналитики Ташкента

В Ташкенте курсируют около 1 800 активных автобусов на 170 маршрутах. Их GPS-координаты поступают каждые 10 секунд. В сутки это составляет порядка 15 миллионов координатных пинг...

[Перевод] OpenAI: сделка с Пентагоном, бойкот, иск на $134 млрд и война. Полная хронология краха

[Перевод] OpenAI: сделка с Пентагоном, бойкот, иск на $134 млрд и война. Полная хронология краха

В феврале CEO Anthropic заявил, что не может «по совести» дать Министерству обороны неограниченный доступ к своим ИИ-системам. Через несколько часов администрация Трампа назвала...

[Перевод] Как распознавать контент, созданный нейросетями (рекомендации для репортеров)

[Перевод] Как распознавать контент, созданный нейросетями (рекомендации для репортеров)

В наши дни соотношение полезного сигнала и шума в информационном пространстве приближается к единице. Иными словами, дезинформации почти столько же, сколько реальных фактов — и ...

KPI по ИИ: как «эффективность» убивает мотивацию разработчика (и при чем тут синдром самозванца)

KPI по ИИ: как «эффективность» убивает мотивацию разработчика (и при чем тут синдром самозванца)

Всем привет. Меня зовут Максим, я разработчик в одном из крупных финтехов России. У нас сейчас (наверно, как и у всех) интенсивно вводят ИИ-агенты для написания кода. Плюс необх...

Дополнительное покрытие этой темы

Похожие публикации и близкие по смыслу материалы по этой же теме.

3000+ часов в Claude Code: как я сконцентрировал весь опыт в трёх плагинах

3000+ часов в Claude Code: как я сконцентрировал весь опыт в трёх плагинах

Я работаю в Claude Code каждый день. Не «попробовал пару раз и написал статью» — а реально каждый день, минимум 8 часов, иногда значительно больше. Больше года. Если грубо посчи...