You are right about jq doing more work, I’ll use the standard json parser and make it match the ruby and elixir versions.
Not sure you mean by this:
In addition the elixir version is actually instancing a tree to hold the whole structure, which is wasted work as well (unsure about ruby).
Elixir would parse the data and have it in memory.
The C++ version seems insane, I’d love to add a Rust benchmark too. I know this is all crude benchmarking but it gives you a sense of comparison.