This repository contains a series of benchmarks for the Go implementation of fRPC. You can learn more about these benchmarks at https://frpc.io/performance.
This benchmark is designed to be a 1:1 comparison with gRPC and other RPC frameworks for sending and receiving large numbers of messages.
In order to facilitate this, all the RPC implementations make use of the same benchmark.proto
file, and the server and client code
was generated using version libprotoc 3.19.4
.
We've also kept the client and server implementations the exact same (with only the instantiation of the servers and clients being different).
To start the gRPC benchmark, you must start the server and then the client (in that order). You can start them like so:
go run server/main.go localhost:8192
go run client/main.go localhost:8192 <bytes per message> <number of messages> <repetitions> <number of clients> <number of parallel senders per client>
To start the fRPC benchmark, you must start the server and then the client (in that order). You can start them like so:
go run server/main.go localhost:8192
go run client/main.go localhost:8192 <bytes per message> <number of messages> <repetitions> <number of clients> <number of parallel senders per client>