rjx: rust-based jq alternative
toolsComments
I wonder how they handle the lifetimes of the borrowed slices if the input buffer needs to be mutated. Is it using a specific arena allocator to keep those references valid?
Does this account for I/O overhead with multi-gigabyte state files? Parsing speed is distinct from the time spent waiting on the filesystem.
But look at the benchmarks for simd-json... it shows such a massive jump in throughput for large payloads! That's probably where rjx is getting its edge...
It might also help with memory limits on small CI runners. Lowering the memory overhead during parsing could prevent the OOM kills we see on larger state files.
Most of us just use terraform show -json and pipe it, which is where the real lag is. If this can't handle the pipe stream efficiently, the zero-copy benefit is moot for my workflow.