Hacker News new | ask | show | jobs
by dzsekijo 2177 days 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

1 comments

I 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.

According 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?
I 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.