I'm curious if json + simdjson will outperform protobuf.

I'm picking a protocol for my project. I was looking at protobuf, but this post made me think otherwise.

Most protobuf implementations are unfortunately not a good example of high-performance binary serialization code (but still better than the average JSON serialization library! And Go, C# (it provides protobuf almost out of box), Java and Rust implementations appear to be decent).

However, your use case is likely doesn't need to process multi-gigabit traffic in JSON requests. Therefore, protobuf, or more specifically, gRPC will be just fine.

Speaking of Go, there's a simdjson implementation for golang too:

> Performance wise, simdjson-go runs on average at about 40% to 60% of the speed of simdjson. Compared to Golang's standard package encoding/json, simdjson-go is about 10x faster.

I haven't tried it yet but I don't really need that speed.

https://github.com/minio/simdjson-go