Skip to main content
usedby

Jsongrep: Single-Pass DFA Search and the Trade-off of Niche Utility

Critical feedback from the engineering community suggests that the benchmarks may be less relevant in a 2026 context. Current tests use "xLarge" files of approximately 190MiB, which many backend engin

The Pitch

Jsongrep is a Rust-based tool designed to search JSON data using a Deterministic Finite Automaton (DFA) to achieve O(1) work per input symbol.

Under the Hood

The core technical advantage of jsongrep is its use of Glushkov's algorithm to compile queries into a DFA, ensuring the tool never needs to backtrack during execution (Source: micahkepe.com). This approach allows for consistent, single-pass processing that remains efficient regardless of query complexity. Benchmarks conducted via Criterion.rs indicate significant performance leads over jaq and gojq in raw search speed (Source: GitHub).

The tool has received a rare endorsement from the creator of jaq, who noted the "solid benchmarks" and the cleverness of the DFA implementation (Source: Reddit r/rust). However, this performance comes with a strict "anti-pitch": jsongrep is a search tool, not a transformation engine. It lacks filters, arithmetic operations, and string manipulation capabilities (Source: Official Blog).

Critical feedback from the engineering community suggests that the benchmarks may be less relevant in a 2026 context. Current tests use "xLarge" files of approximately 190MiB, which many backend engineers consider small for modern production environments (Source: HN). Furthermore, the tool's UI remains unpolished, with reported issues regarding broken color schemes in light mode and confusing benchmark visualizations (Source: HN).

We do not yet know if jsongrep will support binary JSON formats or non-UTF8 encodings.

Our take

Jsongrep is a specialized instrument, not a general-purpose replacement for your existing JSON stack. If you are processing multi-gigabyte log streams where every millisecond translates to infrastructure costs, the single-pass DFA approach is a legitimate optimization. For the remaining 99% of tasks where jq or jaq finish in under a second, switching to a tool with ~100 stars and no transformation logic is a premature optimization. Use it for high-frequency ingestion pipelines, but skip it for your local dev environment.

Written by the usedby team

usedby tracks which companies use which AI tools, from public sources such as vendor customer pages and case studies.

Explore the data

Who uses which AI tool, and how each line was found.