Skip to content

Releases: sirixdb/brackit

Brackit 0.9

13 Apr 18:44

Choose a tag to compare

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-amd64
  • bjq-linux-arm64
  • bjq-macos-amd64
  • bjq-macos-arm64
  • bjq-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

12 Apr 01:23

Choose a tag to compare

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

11 Apr 12:24

Choose a tag to compare

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-amd64
  • bjq-linux-arm64
  • bjq-macos-amd64
  • bjq-macos-arm64
  • bjq-windows-amd64.exe

Full Changelog: v0.6...v0.7

0.4

15 Nov 21:36

Choose a tag to compare

0.4
brackit-0.4

[maven-release-plugin] copy for tag brackit-0.4

Brackit 0.1.10

01 Mar 23:48
0094745

Choose a tag to compare

First release with array slices, temporal enhancements, JSONiq based JSON processing and JSONiq update queries.