grpc_bench: open-source, objective gRPC benchmark

This page summarizes the projects mentioned and recommended in the original post on /r/cpp

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • grpc_bench

    Various gRPC benchmarks

  • Any ideas why the C++ is so slow compared to Rust in single core and Java in general? 50k vs 28k seems to point some crazy Java JIT magic, perf bugs in the C++ code or something wrong with the benchmark itself. Looking at https://github.com/LesnyRumcajs/grpc_bench/blob/master/cpp_grpc_st_bench/main.cpp I'm assuming a combination of the latter two, because of the extremely unidiomatic code. I don't really understand that the hell is happening there with the number of members, but I don't think constantly heap allocating and freeing CallData (with new instances of the grpc/protobuf objects) is a normal way of working.

  • ghz

    Simple gRPC benchmarking and load testing tool

  • It should be unbound, in this particular benchmark we set ghz concurrency to 50 and connections to 5 and we don't set the rps flag of ghz (e.g. --rps=2000, from this tool)

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • gRPC

    The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)

  • A fair amount of server implementations were grabbed from their respective library examples - in this case we took it directly from gRPC https://github.com/grpc/grpc/blob/master/examples/cpp/helloworld/greeter_async_server.cc . So I guess it passed some Google standards. I agree though, this state machine looks crazy. Or [mad] genius.

  • eCAL

    Discontinued Please visit the new repository: https://github.com/eclipse-ecal/ecal (by continental)

  • This really makes me want to try https://github.com/continental/ecal with https://github.com/google/flatbuffers to see how they compare. I also know that gpc for cpp at least stops functioning by about 4 MB of request size. Which I find stupid. What if I want to send uncompressed bitmaps!

  • FlatBuffers

    FlatBuffers: Memory Efficient Serialization Library

  • This really makes me want to try https://github.com/continental/ecal with https://github.com/google/flatbuffers to see how they compare. I also know that gpc for cpp at least stops functioning by about 4 MB of request size. Which I find stupid. What if I want to send uncompressed bitmaps!

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts