New JSON parser for Go: up to 9x faster than `encoding/json`
github.com
github.com
One missing for comparison: https://github.com/ugorji/go/
Happy to answer any questions, hope you like it!
My only criticism is that returning 4 values from a function is not very ergonomic, especially since most of the return values aren't needed in many cases.
It would have been better and more idiomatic to return a struct. Alternatively, let it take a pointer to a struct — this would let you avoid memory allocation in loops (though in theory Go should be able to optimize a struct return, too; anyone know?).
Edited to add: this has its uses, if you know that's all you need. Long ago I wrote a similar xml parser for a project because we had control over the xml being produced, and the garbage overhead from element names was killing us with Xerces; I didn't bother implementing things like DTD support, because YAGNI.
Can you a bit clarify about your expectations?