Zig против C++: зачем переписывать движок?
Llama.cpp стал де-факто стандартом для запуска GGUF-моделей на Mac. Он работает, он проверен, он у всех на устах. Но зачем тогда кому-то понадобилось писать новый движок на Zig? Ответ прост: производительность и контроль.
Zig – это язык системного программирования, который обещает лучший контроль над памятью и параллелизацией. На бумаге, это идеально для задач инференса LLM, где каждый цикл процессора на счету. Ziggy-LLM, версия 1.2.0 на апрель 2026, – это попытка использовать эти преимущества для вывода GGUF-моделей на Apple Silicon с использованием Metal API.
GGUF – это формат квантованных моделей, созданный сообществом llama.cpp. Он стал стандартом для локального запуска LLM, особенно на Mac. Если вы не знакомы, почитайте нашу статью о сравнении GGUF и MLX на Mac.
Разработчик Ziggy-LLM утверждает, что за счет более эффективного использования Metal и оптимизаций на уровне Zig, можно выжать дополнительные токены в секунду. Но так ли это? Давайте проверим.
Установка: проще, чем кажется
Если вы ожидаете сложностей с компиляцией на Zig, то зря. Ziggy-LLM поставляется с готовыми бинарниками для macOS на Apple Silicon. Но если хотите собрать из исходников, это тоже не проблема.
# Скачиваем последнюю версию Ziggy-LLM
curl -L https://github.com/ziggy-llm/ziggy-llm/releases/download/v1.2.0/ziggy-llm-macos-aarch64.tar.gz | tar xz
# Перемещаем бинарник в PATH
sudo mv ziggy-llm /usr/local/bin/
Вот и все. Для сравнения, установка llama.cpp требует клонирования репозитория и сборки с CMake. Ziggy-LLM здесь выигрывает в простоте.
Бежим быстрее: тесты производительности
Я протестировал Ziggy-LLM на MacBook Pro с M5 Max (64 ГБ памяти) с двумя моделями: Qwen 3.5 397B в квантовании Q4_K_M и Gemma 4 12B в Q5_K_S. Для сравнения использовал llama.cpp версии 2026.04.01.
| Модель | Движок | Токенов/сек | Загрузка CPU |
|---|---|---|---|
| Qwen 3.5 397B Q4_K_M | Ziggy-LLM 1.2.0 | 14.3 | 78% |
| Qwen 3.5 397B Q4_K_M | llama.cpp | 13.8 | 82% |
| Gemma 4 12B Q5_K_S | Ziggy-LLM 1.2.0 | 45.2 | 65% |
| Gemma 4 12B Q5_K_S | llama.cpp | 43.1 | 68% |
Ziggy-LLM показывает прирост в 3-5% по токенам в секунду и немного меньше нагружает CPU. Это не революция, но для задач, где каждый токен на счету, это может иметь значение.
Но есть нюанс: Ziggy-LLM пока не поддерживает все квантования GGUF. Например, экспериментальные квантования из Unsloth Dynamic 2.0 могут не работать. Если вы используете такие, лучше придерживаться llama.cpp.
Кому подойдет Ziggy-LLM, а кому нет
Ziggy-LLM – это инструмент для тех, кто гонится за производительностью и не боится использовать молодые проекты. Если вы:
- Разрабатываете приложения с локальным выводом LLM на Mac и хотите максимизировать скорость.
- Интересуетесь языком Zig и хотите увидеть его в действии.
- Используете стандартные квантования GGUF и готовы к возможным багам.
То Ziggy-LLM стоит попробовать.
Но если вам нужна стабильность и полная совместимость, оставайтесь с llama.cpp. Он проверен временем и имеет огромное сообщество. К тому же, для большинства пользователей разница в 3-5% не будет заметна.
Ziggy-LLM пока не имеет такого же уровня интеграции, как llama.cpp. Например, поддержка в LM Studio или других GUI-инструментах отсутствует. Если вы зависите от таких инструментов, подождите, пока сообщество адаптирует Ziggy-LLM. Для сравнения GUI-решений смотрите наш бенчмарк LLM на Mac M5.
Что дальше?
Ziggy-LLM – это интересный эксперимент, который показывает, что даже в устоявшейся экосистеме есть место для оптимизаций. Увидим ли мы массовый переход с llama.cpp? Вряд ли. Но для нишевых случаев, где каждый цикл процессора важен, Ziggy-LLM может занять свое место.
Мой совет: если вы уже используете GGUF-модели на Mac, скачайте Ziggy-LLM и проведите свои тесты. Возможно, на вашей конкретной модели и железе прирост будет больше. А если вы только начинаете, начните с llama.cpp, а потом, когда почувствуете его ограничения, переходите к Ziggy-LLM.
И помните, что производительность инференса зависит не только от движка, но и от квантования модели. Например, умное квантование Unsloth Dynamic 2.0 может дать больший прирост, чем смена движка.
Что касается будущего Ziggy-LLM, все зависит от сообщества. Если разработчик сможет привлечь контрибьюторов и добавить недостающие функции, у него есть шанс. Но пока что это инструмент для энтузиастов, которые не боятся копаться в настройках ради пары лишних токенов в секунду.