Releases: donge/zighouse
Releases · donge/zighouse
Release list
v1.0.2
ZigHouse v1.0.2 — CLI Simplification
Changes
| Before | After |
|---|---|
import-parquet |
import |
parquet-inspect |
inspect |
store-info |
info |
compactor |
compact |
bench-one / bench-range |
bench --query= / --from= / --limit= |
serve --data-dir=<dir> |
serve <dir> (flag still works) |
schema / queries / init |
removed |
Assets
zighouse-linux-x86_64.gzzighouse-linux-arm64.gzzighouse-macos-arm64.gz
Install
brew tap donge/zighouse
brew install zighousev1.0.1
ZigHouse v1.0.1
Assets
zighouse-linux-x86_64.gz— Linux x86_64zighouse-linux-arm64.gz— Linux ARM64zighouse-macos-arm64.gz— macOS Apple Silicon
Install via Homebrew
brew tap donge/zighouse
brew install zighousev1.0.0
v0.9.0: DuckDB-free native Zig SQL engine + multi-platform static binaries
v0.9.0
What's new
- Native Zig SQL parser (M2–M4): full recursive-descent SQL parser pipeline replacing DuckDB at parse time. Zero DuckDB dependency in default build.
- Vendored C sources for cross-compilation (M5): bundled lz4 1.10.0 and zstd 1.5.7 C sources enable static cross-compilation to Linux x86_64 and aarch64 with no external dependencies.
- Multi-platform static binaries: all three release targets are fully statically linked (Linux) or depend only on libSystem (macOS).
count()/count(1)normalization: treated ascount(*)throughout the SQL pipeline.- HAVING clause fix: outer parentheses stripped before predicate matching.
- Generic regression test: new
scripts/generic-regression.sh+ golden output for 1M ClickBench dataset.
Release binaries
| Platform | File |
|---|---|
| Linux x86_64 (musl, static) | zighouse-linux-x86_64 |
| Linux aarch64 (musl, static) | zighouse-linux-aarch64 |
| macOS Apple Silicon | zighouse-macos-aarch64 |
Build flags used
zig build install -Dduckdb=false -Dstatic-libs=true -Dstrip=true -Doptimize=ReleaseFast
v0.2.0-clickbench: Post-Phase G ClickBench submission
Changes since v0.1.0-clickbench
- Phase G: generic parquet executor scaffolding (q28/q36/q43 fallback, generic SQL stage)
- Fix q38: generic path now tries stats sidecar before hash late-materialize (was regression vs specialized path)
- Fix bench_hashmap cross-compile: replace
fstatwithlseekfor portability - perf-baseline.sh: add
SKIP_BUILD/ZIGHOUSEenv vars; default query path →specialized
AWS c6i.4xlarge benchmark vs v0.1.0-clickbench (100M rows)
| Metric | v0.1.0-clickbench | v0.2.0-clickbench | Δ |
|---|---|---|---|
| load_time | 107.33 s | 116.24 s | +8.30 % |
| warm-best query sum (43 q) | 19.53 s | 17.82 s | −8.75 % |
| cold (run 1) query sum | 66.88 s | 64.35 s | −3.79 % |
| data_size | 10.91 GB | 10.91 GB | +16 KB |
Notable per-query improvements (best-of-3): q39 −29 %, q37 −28 %, q7/q4/q3/q20 −20 %, q15 −21 %, q33 −14 %.
Notable per-query regressions: q40 +27 % (+82 ms), q28 +17 %, q26 +8 %.
Binary
zighouse-linux-x86_64: statically linked, stripped, built with -Doptimize=ReleaseFast -Dtarget=x86_64-linux -Dduckdb=false
SHA256: 5c30c8e3a56639a1d769ff1d3246c91109c47e9c97e776aec046519dcc66f3a6
ZigHouse ClickBench v0.1.0
Linux x86_64 benchmark binary for ClickBench. SHA256: 5a779eacf87082eeeb13b336d6f798a0399593c29b5a586ab67202104396dc83