Releases: sirixdb/brackit
Releases · sirixdb/brackit
Brackit 0.9
Highlights
Performance: 1 Billion JSON Records in 16 seconds
- Parallel group-by: 1B records at 3.0 GB/s (97% of disk I/O speed)
- bjq native 2-5x faster than jq on all scales
- 100M+ records with only 4GB heap (jq OOMs at 100M)
New Architecture
- FastJSONParser: byte-level parser with field interning, CompactObject, Int32 cache
- StreamingJSONParser: SIMD structural index, zero-copy slices for >2GB files
- MappedJsonScanner: Foreign Memory API mmap for multi-GB files
- ParallelGroupByExec: 1BRC-inspired parallel chunk processing with open-addressing byte-key hash map
- SpillableGroupBy: disk-spill for large aggregations
- MorselPipeline: DuckDB-inspired morsel-driven parallelism
- TupleSerializer: binary serialization for external merge sort
Native Binaries
All binaries built with Oracle GraalVM, PGO (Profile-Guided Optimization), G1 GC, and -O3:
bjq-linux-amd64bjq-linux-arm64bjq-macos-amd64bjq-macos-arm64bjq-windows-amd64.exe
Install
curl -L https://github.com/sirixdb/brackit/releases/latest/download/bjq-linux-amd64 -o bjq
chmod +x bjq
sudo mv bjq /usr/local/bin/Full Changelog: v0.7...v0.9
Brackit 0.8
Highlights
Performance: 1 Billion JSON Records in 16 seconds
- Parallel group-by: 1B records at 3.0 GB/s (97% of raw disk I/O speed)
- bjq native 2-5x faster than jq on all scales up to 10M records
- 100M+ records with only 4GB heap (jq OOMs at 100M)
- 100M group-by in 1.9s, 1B group-by in 15.8s
New Architecture
- FastJSONParser: byte-level parser with field interning, CompactObject, Int32 cache
- StreamingJSONParser: SIMD structural index, zero-copy slices for >2GB files
- MappedJsonScanner: Foreign Memory API mmap for multi-GB files
- ParallelGroupByExec: 1BRC-inspired parallel chunk processing with open-addressing byte-key hash map, long-based hashing, stride-31 probing
- VectorizedGroupByExec: zero-object byte-level field extraction
- SpillableGroupBy: disk-spill for large aggregations (both sequential and block paths)
- MorselPipeline/MorselBlock: DuckDB-inspired morsel-driven parallelism
- TupleSerializer: binary serialization for external merge sort
- SIMD VectorOps: structural scanning, whitespace skip, branchless filtering
Native Binaries
All binaries built with Oracle GraalVM, PGO (Profile-Guided Optimization), G1 GC, and -O3:
- `bjq-linux-amd64`
- `bjq-linux-arm64`
- `bjq-macos-amd64`
- `bjq-macos-arm64`
- `bjq-windows-amd64.exe`
Install
```bash
Linux (x86-64)
curl -L https://github.com/sirixdb/brackit/releases/latest/download/bjq-linux-amd64 -o bjq
chmod +x bjq
sudo mv bjq /usr/local/bin/
```
Full Changelog: v0.7...v0.8
Brackit 0.7
What's New
Performance & Mechanical Sympathy
- Cache-friendly vectorized execution with ColumnVector, DataChunk, and SelectionVector
- SaltedHashTable with 16-bit salt for fast rejection in hash-joins
- Branchless filter hot paths for SIMD-accelerated predicate evaluation
- ValidityMask for efficient NULL tracking with bitmask operations
Bug Fixes
- Fix
flatten()ArrayIndexOutOfBoundsException for constant vectors - Fix SaltedHashTable index-0 sentinel collision
- Fix block pipeline null-split NPE and missing update support
- Fix block TableJoin tuple width mismatch for right branch
- Fix reliability bugs flagged by SonarCloud
Infrastructure
- Native binary CI for GraalVM builds (linux/macOS/windows, amd64/arm64)
- Benchmarks scaled to 1M records with realistic workloads
- bjq-vs-jq comparison examples
Native Binaries
Native binaries for all platforms are being built and will be attached to this release shortly:
bjq-linux-amd64bjq-linux-arm64bjq-macos-amd64bjq-macos-arm64bjq-windows-amd64.exe
Full Changelog: v0.6...v0.7
0.4
brackit-0.4 [maven-release-plugin] copy for tag brackit-0.4
Brackit 0.1.10
First release with array slices, temporal enhancements, JSONiq based JSON processing and JSONiq update queries.