Язык Zig (канал)
194 subscribers
71 photos
4 videos
10 files
306 links
Unofficial channel about Zig language (in Russian language)

Неофициальный канал про язык Zig (на русском языке)

Chat / Чат:
@ziglang_ru
Download Telegram
Язык Zig (канал)
Rewrite Bun in Rust the binary size shrinks by 3 MB - 8 MB, the benchmarks are between neutral and faster
Мне напомнило это о долгой истории написания нового компилятора на Zig взамен старого на C++ во время примерно 0.7-0.10, как они сначала частями добавляли AstGen, Sema, какие-то части переиспользовали между stage1 и stage2, сколько лет это заняло т.д.

И как они некоторые фичи в то время пропустили, по типу второй версии async/await, мелкие фичи с @Vector

Если бы у главной команды были в то время LLM, сделали ли бы они эту миграцию намного быстрее? Скажем, не 5 лет (хотя честно говоря основной фокус был в последние годы), а месяц? Или может async/await бы не потеряли по пути? “export to C headers” ещё бы продолжал работать?

Или может Эндрю бы вообще не создавал Zig в 2015 и просто писал бы себе на C/C++ и JS (или даже Rust 1.0) дальше свои медиа-плееры и майнкрафт ботов?
👍3😁2
Язык Zig (канал)
Rewrite Bun in Rust the binary size shrinks by 3 MB - 8 MB, the benchmarks are between neutral and faster
https://news.ycombinator.com/item?id=48133806

The depth-of-recursion tests for TOML/JSONC parsers went from 25_000 -> 200_000 because Rust’s smaller stack frames (LLVM lifetime annotations let the optimizer reuse stack slots) mean 25k levels no longer reaches the 18 MB stack on Windows.


Довольно логично кстати, Zig часто просит слишком много памяти на стеке https://xn--r1a.website/ziglang/384
1👍1
zig.exe fetch --save=blabla ../

на 0.15 все нормально было, на 0.16 в рекурсию уходит и диск сжирает за секунды буквально!

Кладите в другую папку или чистите .paths в build.zig.zon

У меня грубо говоря такой сетап был:
1. Пакет с build.zig и пустым paths в build.zig.zon (т.е. дефолт - всё включено)
2. Хотел импортировать его в примерах внутри папки examples/
3. С этой командой получается рекурсия zig-pkg/name.../examples/zig-pkg/name.../examples/zig-pkg/...

Я пофиксил, прописав конкретные paths.

Это на Windows 11 было, на других не тестил.

#предупреждение
👍3
https://zsf.zulipchat.com/#narrow/channel/454446-ecosystem/topic/improving.20the.20contributer.20to.20maintainer.20pipeline/near/595939945

@**Chris Boesch** I just want to reassure you along with everyone else who is trying to contribute that you're not doing anything wrong. On my end the reason you might not have gotten any review feedback lately is:
* focusing on finishing my own build system branch for the 0.17.0 tag
* going on vacation for 1 week
* dealing with personal matters in my life

The other core team members have their own reasons for how much time they spend on the PR queue. As a reminder, nobody including myself has committed to any particular amount of time. It's all best effort, goodwill type of situation.

With that in mind, however, there's a greater discussion to be had here, which is also taking place on ziggit.

After the 0.17.0 tag, I plan to focus on improving the contribution pipeline. We still have a lot to discuss, both publicly and internally, but in general I'd like to try to create a higher trust environment, where more people have more capability to unblock each other and themselves without bottlenecking on ~4.5 active core team members. Furthermore I'd like to solve the technical problem of the frequent codeberg downtime - either by self-hosting or by choosing a different technology that is resilient to outages.

In conclusion if contributors are feeling frustrated right now with the review queue, code forge stability and performance, and similar matters, you're not alone. Let's come up with a way to increase contributor trust and autonomy without compromising the integrity of the project, both from software quality perspective and as a community of people looking to hone their skills and resumes.

I would have preferred to just continue cooking, but sometimes you gotta sharpen your knives
👍1
Язык Zig (канал)
https://zsf.zulipchat.com/#narrow/channel/454446-ecosystem/topic/improving.20the.20contributer.20to.20maintainer.20pipeline/near/595939945 @**Chris Boesch** I just want to reassure you along with everyone else who is trying to contribute that you're not doing…
@**Chris Boesch** Я просто хочу заверить вас и всех остальных, кто пытается внести свой вклад в проект, что вы всё делаете правильно. Что касается меня, причина, по которой вы, возможно, в последнее время не получали отзывов по ревью, заключается в следующем:
* я был сосредоточен на завершении своей ветки системы сборки для выпуска 0.17.0
* уходил в отпуск на 1 неделю
* решал личные вопросы в жизни
У других участников основной команды есть свои причины касательно того, сколько времени они уделяют очереди PR. Напоминаю, что никто, включая меня, не брал на себя обязательств по конкретному количеству времени. Всё это делается исключительно на основе добровольных усилий и доброй воли.
Тем не менее, с учётом вышесказанного, здесь назрела более масштабная дискуссия, которая также проходит на Ziggit.
После выпуска 0.17.0 я планирую сосредоточиться на улучшении пайплайна для контрибьюторов. Нам ещё многое предстоит обсудить, как публично, так и внутри команды, но в целом я хотел бы попытаться создать среду с более высоким уровнем доверия, где у большего числа людей будет больше возможностей помогать друг другу и самим себе, не упираясь в бутылочное горлышко из 4-5 активных участников основной команды. Кроме того, я бы хотел решить техническую проблему частых сбоев в работе Codeberg — либо путём самостоятельного хостинга, либо выбрав другую технологию, устойчивую к простоям.
В заключение: если контрибьюторы сейчас чувствуют разочарование из-за очереди на ревью, стабильности и производительности платформы для разработки и тому подобных вещей, вы не одиноки. Давайте придумаем способ повысить доверие и автономность контрибьюторов без ущерба для целостности проекта — как с точки зрения качества программного обеспечения, так и с точки зрения сообщества людей, стремящихся оттачивать свои навыки и улучшать резюме.
Мне бы хотелось просто кодить в свое удовольствие, но иногда приходится отвлекаться на оптимизацию процессов.
👍3
После обновления NCDU с 0.14-0.15 на 0.16 решил проверить размеры бинарника:

https://xn--r1a.website/ziglang_en/161590

-Dtarget=x86_64-linux-gnu
-Dcpu= x86_64_v4

0.16.0:
Debug: 17846221 (18M)
Debug + Dstrip: 4702669 (4,7M)

ReleaseSafe: 4598512 (4,6M)
ReleaseSafe + Dstrip: 521416 (521k)

ReleaseFast: 4847384 (4,8M)
ReleaseFast + Dstrip: 459768 (460k)

ReleaseSmall: 2862632 (2,9M)
ReleaseSmall + Dstrip: 284488 (284k)

0.15.2:
Debug: 16956152 (17M)
Debug + Dstrip: 4247949 (4,2M)

ReleaseSafe: 3615416 (3,6M)
ReleaseSafe + Dstrip: 320016 (320k)

ReleaseFast: 2539824 (2,5M)
ReleaseFast + Dstrip: 326000 (326k)

ReleaseSmall: 1467968 (1,5M)
ReleaseSmall + Dstrip: 180648 (181k)
👎1
Forwarded from Андрей Краевский
Хорошие новости. Команда zls (techatrix) и zig core team пообщались как сделать так чтобы zls мог работать и дальше. https://codeberg.org/ziglang/zig/issues/35538
👍41🤗1