"Less than a week ago, we finally turned on the x86_64 backend by default for Debug builds on Linux and macOS. Today, we’ve got a big performance improvement to it: we’ve parallelized the compiler pipeline even more!"
Contribute to byterix-labs/conduit-z development by creating an account on GitHub.
Link Actions
From the README:
Overview
conduit-z provides a flexible Object type that can store and stream data efficiently, automatically switching between in-memory and file system storage based on size constraints. It's designed for scenarios where you need to handle data of varying sizes without knowing the final size upfront.
Features
Automatic Storage Management: Starts with in-memory storage and automatically falls back to temporary files when size limits are exceeded
Stream Interface: Provides both reader and writer interfaces compatible with Zig's standard I/O
MD5 Hashing: Built-in MD5 hash computation during read/write operations
Memory Efficient: Configurable memory limits and dynamic growth
Disk Based Key-Value Store Inspired by Bitcask . Contribute to rajivharlalka/filedb development by creating an account on GitHub.
Link Actions
From the README:
FileDB is a Zig-implementation of Bitcask by Riak paper.
FileDB stores record metadata in a log-structured hashtable and parallely keeps 1 disk file open for inserting records in append-only mode. On restarts or MAX_FILE_REACHED, the disk file is rotated and all the oldfiles are kept open for reading only.
A compaction process running every config.compactionInterval seconds, reads all the disk files and combines them into one file while updating the metadata hashtable.
A sync process syncs the open disk files once every config.syncInterval. Sync also can be done on every request if config.alwaysFsync is True.
Multi-agent centralized logs control and management tool written in zig. - Gnyblast/tase
Link Actions
From the README:
Tase is a lightweight log management system written in Zig. It consists of a daemon running on a master server and lightweight agents deployed across multiple servers. With a single config.yaml, Tase allows centralized control over log file management, including deletion, rotation, and truncation.
Features:
Master-Agent Architecture: The master server manages configurations and schedules, while agents execute log management tasks.
YAML-Based Configuration: The master server reads a config.yaml file to determine agent behavior and scheduling.
Cron-based Scheduling: The application uses cron-based scheduling to execute the log management tasks at predefined intervals.
Delete Logs: The application can delete log files that are older than a specified number of days or exceed a certain size.
Rotate Logs: The application can rotate log files, optionally compressing the archived files using the GZip algorithm. It can also delete archive
D-ary heap in Zig. Contribute to tungli/dheap.zig development by creating an account on GitHub.
Link Actions
From the READEM:
Heap with compile-time parameteric branching factor, also known as d-ary
heap.
Note that there is a binary heap in the standard library if you do not want
to use this module:
std.PriorityQueue
Performance notes:
Heaps with higher branching factors are faster in inserting element and
slower in removing elements. If you are going to insert and then remove all
elements a binary heap is already quite fast and a branching factor
higher than 5 is probably going to be less optimal. The optimal branching
factor is usually around 4.
The branching factor here is compile time to enable the optimization of
division by the compiler, see e.g:
Montgomery modular multiplication.
If case you need to pop the top element and insert a new one, or vice
versa, use the replaceTop member function to avoid paying the extra
cost of
Zeppelin is a cross-platform 2D graphics and window library in pure Zig*. It features hardware-accelerated vector graphics (through Vulkan), built-in text rendering, and a window system integration for windows and linux (wayland only). Android support is planned.
Zig function transform library. Contribute to chung-leong/zigft development by creating an account on GitHub.
Link Actions
From the README:
Zigft is a small library that lets you perform function transform in Zig. Consisting of just two files, it's designed to be used in source form. Simply download the file you need from this repo, place it in your src directory, and import it into your own code.
Parsing gigabytes of JSON per second. Zig port of simdjson with fundamental features. - EzequielRamis/zimdjson
Link Actions
This is the second of two simdjson ports for Zig, the other one being simdjzon
From the README:
Welcome to zimdjson: a high-performance JSON parser that takes advantage of SIMD vector instructions, based on the paper Parsing Gigabytes of JSON per Second.
The majority of the source code is based on the C++ implementation https://github.com/simdjson/simdjson with the addition of some fundamental features like:
Streaming support which can handle arbitrarily large documents with O(1) of memory usage.
An ergonomic, Serde-like deserialization interface thanks to Zig's compile-time reflection. See Reflection-based JSON.
This post can be considered an advanced Zig tutorial. I will be covering some of the more unique
aspects of the language, but won't be explaining the easy part. If you haven't read the Zig
Language Reference, you might start there. Additionally,
we will also learn the foundational trick for implemen...
Link Actions
From the ingress:
This post can be considered an advanced Zig tutorial. I will be covering some of the more unique aspects of the language, but won’t be explaining the easy part. If you haven’t read the Zig Language Reference, you might start there. Additionally, we will also learn the foundational trick for implementing relational model.
You will learn a sizable chunk of Zig after this post, but this isn’t going to be an easy read, so prepare your favorite beverage and get comfy!
a git alternative written in zig. Contribute to radarroark/xit development by creating an account on GitHub.
Link Actions
From the README:
You're looking at xit, a new version control system. Here be dragons, as they say. This is new and unstable software. Maybe one day it will be a worthy successor to git, but for now, only use it if you're adventurous. Here are the main features:
git compatible
supports the git networking protocol for push/fetch/clone