Язык Zig (канал)
173 subscribers
28 photos
3 videos
6 files
243 links
Download Telegram
Forwarded from mak
🤝1
PerformanceAnalysisAndTuningOnModernCPUs_SecondEdition.pdf
21.1 MB
Хорошая книжка про производительность и оптимизации (и немного об устройстве) современных процессоров.

Код в основном C++, не особо сложный. Можете в чате поспрашивать, если не знаете, какие вещи в C++ соответствуют каким в Zig, по типу:
* bitfields и packed struct
* __attribute__((musttail)) и @call(.always_tail, ...)
* и т.д.

Ну и кусочки ассемблера.

https://github.com/dendibakh/perf-book

#книги
7🔥4
От того же автора есть репозиторий, где вы практикуете оптимизацию (немного на Ziglings похоже, только у вас ничего не сломано).

https://github.com/dendibakh/perf-ninja/blob/main/GetStarted.md

Дают код, оптимизируете его с помощью знаний из книги.
Параллельно смотрите видео https://www.youtube.com/playlist?list=PLRWO2AL1QAV6bJAU2kgB4xfodGID43Y5d
и потом замеряете.

Код (как и в книге) на C++, но есть порты на Rust и Zig:
* https://github.com/grahamking/perf-ninja-rs
* https://github.com/JonathanHallstrom/perf-ninja-zig
4🔥1
Если у кого-то крашится библиотека на Zig которую вызывают с других языков (Например java/Kotlin), проверьте в каком режиме скомпилирована библиотека.

Если у вас стоит Debug, он может жрать стек как не в себя. Тогда попробуйте любой другой режим, если краш уйдет, это был stack overflow.
👍72🤔2
Язык Zig (канал)
Photo
this december im doing a "prototype" which means its going to be done in zig and im going to clear sone difficult hurdles i couldn't do last year.... also accepting sponsors, details on page.

also disclaimer, im using heavy amounts of ai assistance (as implied in the preview video)


I mentioned a proof of concept I did that if I had the time to complete/do correctly, it should give you near-rust-level checking on memory safety, plus automatically flags sites where you need to inspect the code. At the point where you are using MIRI, you're already bringing extra stuff into rust, so in practice zig + zig-clr could be the equivalent of the result of "what if you moved borrow checking from rustc into miri"
С Новым 2026 Годом всех зигастиков!
🎉184🥰1
Язык Zig (канал)
С Новым 2026 Годом всех зигастиков!
В предстоящем году нас скорее всего ждет два выпуска, весной (0.16, async) и осенью-зимой (0.17). Фокус будет на стандартной библиотеке и постепенно стабилизации языка. Эндрю обещал большинство накопившихся предложений отклонить!

Есть шанс что в 2027 или 2028 будет релиз 1.0 (я думаю скорее всего 2028).
😍11😁3👍1
Всем привет.

Недавно увидел, что Karl Seguin (автор блога OpenMyMind и кучи библиотек для Zig) активно использует Claude для разработки на Zig (судя по его собственным словам, весьма успешно):
- https://bsky.app/profile/karlseguin.com/post/3m4coasigyc24
- https://bsky.app/profile/karlseguin.com/post/3mahrn2mrhc2d

Он пишет, что "сейчас почти не пишет код без параллельной сессии с Claude Pro, и что комфорт работы с LLM напрямую зависит от умения работать в режиме совместного кодинга".

У меня в прошлом не очень получалось с LLM-ками и Zig, но ему я доверяю и поэтому решил пере-проверить. На примере портирования с Zig 0.14 до Zig 0.15.
😐2👍1
Язык Zig (канал)
Всем привет. Недавно увидел, что Karl Seguin (автор блога OpenMyMind и кучи библиотек для Zig) активно использует Claude для разработки на Zig (судя по его собственным словам, весьма успешно): - https://bsky.app/profile/karlseguin.com/post/3m4coasigyc24 …
Портирование с 0.14 на 0.15 прошло очень хорошо, руками я бы запарился usingnamespace заменять везде.
Основной код Claude (Code) портировал сам, но забыл про examples, я ему сказал что вообще-то там тоже есть код на Zig и он дофиксил.

https://git.sr.ht/~bratishkaerik/zig-libgccjit/commit/5052cad69dc0328a060e8c565e7cd6e4f7cec94b

В целом я доволен.
👍2
Еще (ужасно) потестил в браузере онлайн ИИшки простым вопросом (поиск и thinking помечал как optional или врубал, но в идеале без него или сам должен был догадаться включить их):

For porting Zig 0.14 code to Zig 0.15: what is the correct replacement for `readByte()` on a file/reader, and where is it called from?


Рандомы:
GLM 4.6:
GLM 4.7:
Mistral:

Что я обычно юзаю:
ChatGPT:
Gemini 3 Thinking:
DeepSeek:
Claude Sonnet 4.5:
Kimi K2:
🔥1
Язык Zig (канал)
Еще (ужасно) потестил в браузере онлайн ИИшки простым вопросом (поиск и thinking помечал как optional или врубал, но в идеале без него или сам должен был догадаться включить их): For porting Zig 0.14 code to Zig 0.15: what is the correct replacement for `readByte()`…
Из тех, кто "не угадал", только DeepSeek был ближе всех к правде.
Он почему-то думал, что в новом API:
* takeByte: i8
* takeByteUnsigned: u8

И предложил второе. А на деле там:
* takeByte: u8
* takeByteSigned: i8

ChatGPT и прочие вообще далеко ушли, какие то allocByte и ownByte стали придумывать.
Язык Zig (канал)
https://bun.com/blog/bun-joins-anthropic
Мейби после этой покупки они натренируют еще больше. Если я правильно все помню у bun был самый большой репозиторий Zig кода, больше чем даже сам ziglang/zig. После покупки плюс люди знающие этот язык, и вуаля!