Skip to content

Releases: donge/zighouse

v1.0.2

Choose a tag to compare

@github-actions github-actions released this 14 Jun 04:55

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.gz
  • zighouse-linux-arm64.gz
  • zighouse-macos-arm64.gz

Install

brew tap donge/zighouse
brew install zighouse

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 13 Jun 02:04

ZigHouse v1.0.1

Assets

  • zighouse-linux-x86_64.gz — Linux x86_64
  • zighouse-linux-arm64.gz — Linux ARM64
  • zighouse-macos-arm64.gz — macOS Apple Silicon

Install via Homebrew

brew tap donge/zighouse
brew install zighouse

v1.0.0

Choose a tag to compare

@donge donge released this 08 Jun 11:14

ZigHouse v1.0.0

Assets

  • zighouse-linux-x86_64.gz — Linux x86_64
  • zighouse-macos-arm64.gz — macOS Apple Silicon

Install via Homebrew

brew tap donge/zighouse
brew install zighouse

Install via Docker

docker pull ghcr.io/donge/zighouse:latest

v0.9.0: DuckDB-free native Zig SQL engine + multi-platform static binaries

Choose a tag to compare

@donge donge released this 30 May 07:22

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 as count(*) 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

Choose a tag to compare

@donge donge released this 14 May 10:57

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 fstat with lseek for portability
  • perf-baseline.sh: add SKIP_BUILD/ZIGHOUSE env 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

Choose a tag to compare

@donge donge released this 11 May 13:37

Linux x86_64 benchmark binary for ClickBench. SHA256: 5a779eacf87082eeeb13b336d6f798a0399593c29b5a586ab67202104396dc83