https://github.com/ziglang/zig/pull/15569
пока сравнения производительности с старой системой нет:
> Once the behavior tests are passing, I can provide at least some measurement of memory usage and perf delta against master branch.
Motivation в описании:
> ...
> Serialization and deserialization of the InternPool as part of incremental compilation
и оригинальном коммите:
https://github.com/ziglang/zig/commit/cf88cf2657d721c68055a284e8c498a18639f74c
> As a result, we have an extremely efficient encoding of types and values, represented only by three arrays, which has no pointers, and can therefore be serialized and deserialized by a single writev/readv call.
> This is in contrast to our current Type/Value system which makes extensive use of pointers.
#upstream
пока сравнения производительности с старой системой нет:
> Once the behavior tests are passing, I can provide at least some measurement of memory usage and perf delta against master branch.
Motivation в описании:
> ...
> Serialization and deserialization of the InternPool as part of incremental compilation
и оригинальном коммите:
https://github.com/ziglang/zig/commit/cf88cf2657d721c68055a284e8c498a18639f74c
> As a result, we have an extremely efficient encoding of types and values, represented only by three arrays, which has no pointers, and can therefore be serialized and deserialized by a single writev/readv call.
The map field is denormalized data and can be computed from the other two fields.> This is in contrast to our current Type/Value system which makes extensive use of pointers.
#upstream
GitHub
Use InternPool for all types and constant values by andrewrk · Pull Request #15569 · ziglang/zig
This changeset is centered around the InternPool data structure. Unfortunately, it required reworking a lot of compiler code.
The goal of this branch is to get to a mergeable state as soon as possi...
The goal of this branch is to get to a mergeable state as soon as possi...
⚡4👍1
https://github.com/extism/extism
Система универсальных плагинов. Запускайте WebAssembly расширения в вашей программы. Используются идиоматические Host SDK'ы для Go, Ruby, Python, Node, Rust, C, C++, OCaml, Haskell, PHP, Elixir/Erlang, .NET, Java, Zig и других (остальные coming soon).
Наборы разработки плагинов (PDK) для создателей плагинов поддерживают Rust, AssemblyScript, Go, C/C++, Haskell и Zig.
Система универсальных плагинов. Запускайте WebAssembly расширения в вашей программы. Используются идиоматические Host SDK'ы для Go, Ruby, Python, Node, Rust, C, C++, OCaml, Haskell, PHP, Elixir/Erlang, .NET, Java, Zig и других (остальные coming soon).
Наборы разработки плагинов (PDK) для создателей плагинов поддерживают Rust, AssemblyScript, Go, C/C++, Haskell и Zig.
GitHub
GitHub - extism/extism: The framework for building with WebAssembly (wasm). Easily & securely load wasm modules, move data, call…
The framework for building with WebAssembly (wasm). Easily & securely load wasm modules, move data, call functions, and build extensible apps. - extism/extism
https://www.twitch.tv/andrewrok
стрим с продолжением internpool
стрим с продолжением internpool
Twitch
andrewrok - Twitch
Lead developer & president of Zig Software Foundation.
👍1
Язык Zig (канал)
x86 backend (нативный без LLVM) 82% тестов проходит ⚡⚡⚡
x86 backend (нативный без LLVM) проходит 90% behaviour-тестов 🔨🔨🔨
🔥8🎉5⚡3
С прискорбием вынужден сообщить, что Alexandros Naskos (aka https://github.com/alexnask), участник основной команды Zig, почил.
https://discord.com/channels/605571803288698900/1022628803329142816/1116566712536535100
https://discord.com/channels/605571803288698900/1022628803329142816/1116566712536535100
GitHub
alexnask - Overview
alexnask has 88 repositories available. Follow their code on GitHub.
🫡16🕊1😭1
Язык Zig (канал)
https://github.com/ziglang/zig/pull/15569 пока сравнения производительности с старой системой нет: > Once the behavior tests are passing, I can provide at least some measurement of memory usage and perf delta against master branch. Motivation в описании:…
мержнули, 205 коммитов, 30к строчек, 40 дней :)
👍2
Язык Zig (канал)
Zig tips: v0.11 std.build API / package manager changes https://devlog.hexops.com/2023/zig-0-11-breaking-build-changes/ #блоги
Mach: providing an ecosystem of C libraries using the Zig package manager
https://devlog.hexops.com/2023/mach-ecosystem-c-libraries/
#блоги
https://devlog.hexops.com/2023/mach-ecosystem-c-libraries/
#блоги
Hexops
Mach: providing an ecosystem of C libraries using the Zig package manager
For Mach engine, we're maintaining an ecosystem of C libraries packaged up with the new experimental Zig package manager. Whether you use Zig the language, or just its build system to build C/C++ applications, you may find this overview of our ecosystem informative.
🔥4😱2
https://github.com/lassade/c2z
C++ генератор обвязок/транспилер для версии Zig 0.11.0-dev.3220+447a30299, WIP
#библиотеки
C++ генератор обвязок/транспилер для версии Zig 0.11.0-dev.3220+447a30299, WIP
#библиотеки
GitHub
GitHub - lassade/c2z: C++ to Zig bindings and transpiler
C++ to Zig bindings and transpiler. Contribute to lassade/c2z development by creating an account on GitHub.
core_convert_should_be.pdf
86.1 KB
Небольшая схема, как приводятся различные типы указателей/срезов/массивов друг к другу, на момент master-ветки. WIP. Автор Nik
👍3
https://tigerbeetle.com/blog/2023-07-11-we-put-a-distributed-database-in-the-browser/
We Put a Distributed Database In the Browser – And Made a Game of It!
Сам симулятор https://sim.tigerbeetle.com/ (нужна поддержка WebAssembly)
#блоги
We Put a Distributed Database In the Browser – And Made a Game of It!
Сам симулятор https://sim.tigerbeetle.com/ (нужна поддержка WebAssembly)
#блоги
Tigerbeetle
SimTigerBeetle
Run TigerBeetle, compiled to WebAssembly, in your browser!
Язык Zig (канал)
https://tigerbeetle.com/blog/2023-07-11-we-put-a-distributed-database-in-the-browser/ We Put a Distributed Database In the Browser – And Made a Game of It! Сам симулятор https://sim.tigerbeetle.com/ (нужна поддержка WebAssembly) #блоги
YouTube
SimTigerBeetle (Director's Cut!)
Take a tour of the insights and code behind TigerBeetle's deterministic simulator, and then see TigerBeetle, compiled to WebAssembly, running in your browser as a game you can play!
https://sim.tigerbeetle.com/
https://sim.tigerbeetle.com/
Язык Zig (канал)
https://tigerbeetle.com/blog/2023-07-11-we-put-a-distributed-database-in-the-browser/ We Put a Distributed Database In the Browser – And Made a Game of It! Сам симулятор https://sim.tigerbeetle.com/ (нужна поддержка WebAssembly) #блоги
У меня в Firefox 115.0 64-бит игра ~256 МБ памяти жрёт
https://github.com/cryptocode/zigfsm
Библиотека для создания конечных автоматов (Zig версии master). Пункты с README:
* Никаких выделений памяти [на куче].
* Работает и во время компиляции, и во время выполнения.
* Быстрая проверка переходов (fast transition validation) тут не уверен.
* Компактное представление в памяти.
* Конечные автоматы можно экспортировать в формат Graphiz DOT.
* Их можно определять программным путём или импортируя файлы Graphiz или libfsm.
* Импортированные конечные автоматы могут автогенерировать перечисления состояний и событий (state enums and event enums) во время компиляции.
* Опционально можно добавить слушатели событий, чтобы добавить функциональность или отменять переходы.
* Всесторонний охват тестами, которые также являются примерами использования.
#библиотеки
Библиотека для создания конечных автоматов (Zig версии master). Пункты с README:
* Никаких выделений памяти [на куче].
* Работает и во время компиляции, и во время выполнения.
* Быстрая проверка переходов (fast transition validation) тут не уверен.
* Компактное представление в памяти.
* Конечные автоматы можно экспортировать в формат Graphiz DOT.
* Их можно определять программным путём или импортируя файлы Graphiz или libfsm.
* Импортированные конечные автоматы могут автогенерировать перечисления состояний и событий (state enums and event enums) во время компиляции.
* Опционально можно добавить слушатели событий, чтобы добавить функциональность или отменять переходы.
* Всесторонний охват тестами, которые также являются примерами использования.
#библиотеки
GitHub
GitHub - cryptocode/zigfsm: A finite state machine library for Zig
A finite state machine library for Zig. Contribute to cryptocode/zigfsm development by creating an account on GitHub.
🔥3
Язык Zig (канал)
https://github.com/cryptocode/zigfsm Библиотека для создания конечных автоматов (Zig версии master). Пункты с README: * Никаких выделений памяти [на куче]. * Работает и во время компиляции, и во время выполнения. * Быстрая проверка переходов (fast transition…
Пример визуализации экспортированного в Graphiz формат CSV парсера https://github.com/cryptocode/zigfsm/blob/8631a5ce139f10f0b58b0667e87eed5e36e3521a/src/main.zig#L755-L888
Картинка создана командой
dot -Tpng csv.gv -o csv.png
Картинка создана командой
dot -Tpng csv.gv -o csv.png
🔥3
https://ziglang.org/news/0.11.0-postponed-again/
Вкратце: async откладывается на будущие (0.12+) релизы, 0.11.0 откладывается на 3 августа, так и живём...
#upstream
Вкратце: async откладывается на будущие (0.12+) релизы, 0.11.0 откладывается на 3 августа, так и живём...
#upstream
😱3😢3
Yan (@notifyme, tg://user?id=32336552):
Добрый день, есть работа написать прошивку микроконтроллера на Zig.
Удаленка. Оплата почасовая.
* Простой алгоритм сжатия типа Elias
* Шифрование данных Chacha20
* Генератор случайных чисел из часов при старте
* Писать логи в память
* Подписывать HMAC-sha256 свой конфиг сохраняя его на внешнюю память
* Двигать байты туда сюда :)
...
Есть структура данных и zig types для хранения в разных частях памяти, flash, ram, external flash и логика на псевдо языке по тому как куда и когда что пишется.
Ян
#вакансии
Добрый день, есть работа написать прошивку микроконтроллера на Zig.
Удаленка. Оплата почасовая.
* Простой алгоритм сжатия типа Elias
* Шифрование данных Chacha20
* Генератор случайных чисел из часов при старте
* Писать логи в память
* Подписывать HMAC-sha256 свой конфиг сохраняя его на внешнюю память
* Двигать байты туда сюда :)
...
Есть структура данных и zig types для хранения в разных частях памяти, flash, ram, external flash и логика на псевдо языке по тому как куда и когда что пишется.
Ян
#вакансии
👍2🔥2