Hacker News new | past | comments | ask | show | jobs | submit login

gRPC is slow with Python, but most people don't pick Python if they are serious about performance. gRPC has continuous benchmarks running[1] to track and improve perf. I agree the Python one has some serious problems, but don't let it be the whole story. The C++ implementation is 100x faster.

[1] https://performance-dot-grpc-testing.appspot.com/explore?das...




For the non-pingpong benchmark [1], c++ (300k rps) looks to be around 2x faster than java (150k rps), while the latter is around 2x faster than go (75k rps).

It looks like go's non-compacting/non-generational gc is at play here. Even csharp is faster than go on that benchmark.

The one you posted has no deserialization overhead since its just ping/pong.

[1] https://performance-dot-grpc-testing.appspot.com/explore?das...

edit: fix typo


I'm aware and I did try out a C++ client but there was still a definite upper bound to its performance and latency was still ~2x Cap'n'Proto.


If the perf of gRPC is not good enough, you should file an issue on Github. I'm kind of surprised that gRPC loist by 2x. That's about how much better netperf is.

When you say you used Cap'n'proto, did you mean the RPC and serializer, or just the serializer? I ask because gRPC's serialization is pluggable, and doesn't have a dependency on Protobuf.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: