4 ms·
Adding this, for sake of completeness (I have no experience with it, just yet another Go JSON project aiming at high performance). https://github.com/minio/sim
by dzsekijo 6y ago
Adding this, for sake of completeness (I have no experience with it, just yet another Go JSON project aiming at high performance).
https://github.com/minio/simdjson-go https://github.com/minio/simdjson-go
- glangdale 6y agoI wrote the original simdjson code along with Daniel Lemire. The go version of simdjson (it's a rewrite, not just a binding to C++ code) is slower than the original simdjson but still 8-15x faster than encoding/json. I don't know how the two compare as I don't really know where the overheads happen in the go version. Assuming the analogous case is "decoding into an interface{}" the simdjson port would be considerably faster.
- throwaway894345 6y agoAccording to the article, encoding/json is particularly slow with respect to decoding due to allocations. Notably, the API makes it difficult (impossible?) to avoid these allocations. Do you know if simdjson is significantly faster in this regard? And if you don't know that, do you know if the decoding API is the same as with encoding/json?
- glangdale 6y agoI don't know; this isn't a huge source of performance problems in the C++ version and I don't know much about how the go version works.
- jonstewart 6y agoHaha C++ simdjson go brrrrrrrr