Skip to content

2022 01 11 bench results

Andrea edited this page Jan 11, 2022 · 4 revisions

Benchmarked on: Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz, 32G RAM

Config:

b4f96b6 Tue, 11 Jan 2022 10:35:33 +0000 Trisfald use move semantics in cpp benches
- GRPC_BENCHMARK_DURATION=120s
- GRPC_BENCHMARK_WARMUP=30s
- GRPC_SERVER_CPUS=1
- GRPC_SERVER_RAM=512m
- GRPC_CLIENT_CONNECTIONS=50
- GRPC_CLIENT_CONCURRENCY=1000
- GRPC_CLIENT_QPS=0
- GRPC_CLIENT_CPUS=9
- GRPC_REQUEST_SCENARIO=complex_proto

1 CPU Server

-----------------------------------------------------------------------------------------------------------------------------------------
| name                        |   req/s |   avg. latency |        90 % in |        95 % in |        99 % in | avg. cpu |   avg. memory |
-----------------------------------------------------------------------------------------------------------------------------------------
| rust_tonic_st               |   47433 |       20.60 ms |       25.05 ms |       26.53 ms |       29.63 ms |  102.16% |      18.7 MiB |
| rust_thruster_st            |   43354 |       22.60 ms |       26.18 ms |       28.38 ms |       31.92 ms |  101.48% |     13.33 MiB |
| rust_tonic_mt               |   40467 |       24.40 ms |       10.46 ms |       11.85 ms |      584.84 ms |  101.02% |     18.15 MiB |
| rust_thruster_mt            |   36296 |       27.26 ms |       11.90 ms |       13.54 ms |      667.92 ms |  101.31% |     14.54 MiB |
| scala_akka                  |   35389 |       26.49 ms |       62.77 ms |       74.83 ms |       96.32 ms |  101.97% |    235.09 MiB |
| dotnet_grpc                 |   34409 |       26.38 ms |       47.22 ms |       64.28 ms |       81.12 ms |  100.95% |    112.14 MiB |
| java_quarkus                |   33761 |       28.90 ms |       51.74 ms |       56.21 ms |       74.03 ms |  100.27% |    104.79 MiB |
| rust_grpcio                 |   32998 |       30.05 ms |       33.38 ms |       34.27 ms |       37.12 ms |  101.87% |     24.82 MiB |
| java_hotspot_grpc_pgc       |   32094 |       30.17 ms |       56.28 ms |       61.95 ms |       83.88 ms |  101.37% |    187.38 MiB |
| java_hotspot_grpc_g1gc      |   29974 |       32.55 ms |       58.96 ms |       64.63 ms |       88.19 ms |  101.38% |    165.94 MiB |
| cpp_grpc_st                 |   28644 |       34.74 ms |       38.44 ms |       40.30 ms |       43.54 ms |  102.37% |      9.25 MiB |
| java_hotspot_grpc_zgc       |   28420 |       34.37 ms |       63.45 ms |       71.47 ms |       86.04 ms |  100.54% |    117.72 MiB |
| cpp_grpc_mt                 |   27808 |       35.80 ms |       39.87 ms |       41.29 ms |       44.29 ms |   102.6% |      9.29 MiB |
| cpp_asio_grpc               |   26619 |       37.42 ms |       42.33 ms |       43.50 ms |       46.19 ms |  101.78% |      8.67 MiB |
| java_hotspot_grpc_she       |   26397 |       37.24 ms |       71.96 ms |       86.03 ms |      101.76 ms |  101.25% |    392.39 MiB |
| java_openj9_grpc_gencon     |   24969 |       38.99 ms |       75.29 ms |       92.09 ms |      198.89 ms |  100.98% |     123.3 MiB |
| java_hotspot_grpc_sgc       |   23281 |       42.23 ms |       74.13 ms |       81.14 ms |       94.91 ms |  100.89% |     81.53 MiB |
| crystal_grpc                |   21783 |       44.94 ms |       54.81 ms |       56.16 ms |       62.42 ms |  127.81% |     38.55 MiB |
| kotlin_grpc                 |   17105 |       57.57 ms |       95.25 ms |      104.07 ms |      179.77 ms |  101.71% |    212.94 MiB |
| java_micronaut              |   11739 |       84.66 ms |      104.43 ms |      116.86 ms |      301.15 ms |  102.68% |    467.53 MiB |
| java_micronaut_workstealing |   11691 |       85.10 ms |       99.33 ms |      107.76 ms |      274.78 ms |  101.91% |    457.09 MiB |
| go_grpc                     |   10012 |       96.01 ms |      194.13 ms |      207.85 ms |      302.57 ms |  100.73% |     31.31 MiB |
| scala_zio                   |    5534 |      179.74 ms |      287.09 ms |      313.76 ms |      508.74 ms |  100.34% |    273.61 MiB |
| erlang_grpcbox              |    5183 |      192.49 ms |      202.26 ms |      206.85 ms |      220.55 ms |  101.72% |     93.51 MiB |
| csharp_grpc                 |    4890 |      203.88 ms |      258.73 ms |      271.58 ms |      286.25 ms |  102.13% |     98.21 MiB |
| elixir_grpc                 |    4604 |      216.67 ms |      243.76 ms |      249.94 ms |      266.60 ms |  100.82% |    124.54 MiB |
| node_grpcjs_st              |    4117 |      241.84 ms |      267.83 ms |      273.13 ms |      288.13 ms |  100.39% |      44.7 MiB |
| scala_fs2                   |    2754 |      361.86 ms |      395.20 ms |      588.27 ms |      796.27 ms |  101.93% |    231.15 MiB |
| python_async_grpc           |    2598 |      383.55 ms |      409.33 ms |      416.56 ms |      450.36 ms |  101.67% |     57.99 MiB |
| python_grpc                 |    2160 |      460.95 ms |      489.49 ms |      493.37 ms |      503.54 ms |  101.99% |     35.19 MiB |
| ruby_grpc                   |    1907 |      521.94 ms |      588.68 ms |      611.91 ms |      697.86 ms |  102.17% |     35.91 MiB |
| java_aot                    |    1661 |      597.73 ms |         1.00 s |         1.19 s |         1.49 s |  100.72% |    177.05 MiB |
| php_grpc                    |     895 |         1.11 s |         1.19 s |         1.19 s |         1.20 s |   101.6% |     66.53 MiB |
-----------------------------------------------------------------------------------------------------------------------------------------

2 CPU Server

-----------------------------------------------------------------------------------------------------------------------------------------
| name                        |   req/s |   avg. latency |        90 % in |        95 % in |        99 % in | avg. cpu |   avg. memory |
-----------------------------------------------------------------------------------------------------------------------------------------
| dotnet_grpc                 |   70970 |       11.10 ms |       17.86 ms |       22.17 ms |       31.92 ms |   196.2% |    176.56 MiB |
| scala_akka                  |   70957 |       11.07 ms |       20.12 ms |       26.22 ms |       52.40 ms |   187.1% |    241.64 MiB |
| cpp_grpc_mt                 |   69854 |       11.67 ms |       21.92 ms |       26.66 ms |       37.54 ms |  203.16% |     32.77 MiB |
| cpp_asio_grpc               |   67816 |       12.37 ms |       23.10 ms |       27.58 ms |       37.38 ms |  204.01% |     36.07 MiB |
| rust_tonic_mt               |   62605 |       14.53 ms |       38.06 ms |       57.54 ms |       83.25 ms |  197.27% |     20.35 MiB |
| java_hotspot_grpc_pgc       |   59717 |       14.07 ms |       30.99 ms |       40.52 ms |       59.05 ms |   204.1% |    203.73 MiB |
| rust_thruster_mt            |   57771 |       15.84 ms |       41.50 ms |       61.10 ms |       86.85 ms |  198.89% |     14.87 MiB |
| rust_grpcio                 |   55772 |       16.67 ms |       26.82 ms |       30.13 ms |       37.89 ms |  202.49% |     43.18 MiB |
| java_hotspot_grpc_g1gc      |   52655 |       16.75 ms |       34.67 ms |       43.78 ms |       63.74 ms |  203.93% |    164.99 MiB |
| java_hotspot_grpc_she       |   50820 |       17.42 ms |       40.48 ms |       54.07 ms |       72.04 ms |  202.71% |    406.98 MiB |
| java_hotspot_grpc_zgc       |   48646 |       18.19 ms |       40.83 ms |       53.07 ms |       68.23 ms |   203.8% |    119.37 MiB |
| java_openj9_grpc_gencon     |   48019 |       18.00 ms |       42.24 ms |       52.12 ms |       67.30 ms |  204.07% |    144.21 MiB |
| rust_tonic_st               |   47550 |       20.53 ms |       24.93 ms |       26.48 ms |       29.98 ms |  101.12% |     16.16 MiB |
| java_hotspot_grpc_sgc       |   46154 |       19.57 ms |       37.65 ms |       42.45 ms |       58.06 ms |  196.05% |     92.77 MiB |
| java_quarkus                |   44763 |       20.40 ms |       42.92 ms |       46.96 ms |       59.38 ms |  164.47% |    129.43 MiB |
| rust_thruster_st            |   43032 |       22.78 ms |       25.73 ms |       27.13 ms |       30.85 ms |  101.18% |     12.76 MiB |
| kotlin_grpc                 |   41550 |       21.49 ms |       63.29 ms |       73.50 ms |       88.03 ms |  203.95% |    212.47 MiB |
| cpp_grpc_st                 |   27958 |       35.61 ms |       39.17 ms |       41.10 ms |       44.15 ms |  102.33% |       8.8 MiB |
| go_grpc                     |   27606 |       31.92 ms |       76.85 ms |       84.13 ms |       99.22 ms |  203.05% |     30.39 MiB |
| java_micronaut_workstealing |   26599 |       36.32 ms |       67.47 ms |       72.25 ms |       84.98 ms |  193.92% |    504.01 MiB |
| java_micronaut              |   24949 |       38.89 ms |       68.08 ms |       75.16 ms |       87.66 ms |  186.75% |    504.49 MiB |
| crystal_grpc                |   21600 |       45.28 ms |       55.41 ms |       58.10 ms |       63.80 ms |   127.3% |     38.88 MiB |
| csharp_grpc                 |   16226 |       60.58 ms |       89.40 ms |       93.83 ms |      100.72 ms |  204.03% |    104.61 MiB |
| scala_zio                   |   10660 |       92.20 ms |      128.40 ms |      181.84 ms |      218.14 ms |  201.25% |    263.78 MiB |
| erlang_grpcbox              |    9255 |      107.83 ms |      119.07 ms |      122.86 ms |      131.69 ms |  207.57% |     80.41 MiB |
| elixir_grpc                 |    8470 |      117.85 ms |      135.35 ms |      141.27 ms |      153.10 ms |  203.75% |    124.86 MiB |
| java_aot                    |    6271 |      157.36 ms |      293.25 ms |      333.29 ms |      432.52 ms |  195.03% |    215.94 MiB |
| node_grpcjs_st              |    6256 |      159.12 ms |      170.19 ms |      173.54 ms |      181.49 ms |  129.35% |     45.84 MiB |
| scala_fs2                   |    6202 |      160.88 ms |      187.86 ms |      192.91 ms |      211.80 ms |  207.07% |    233.89 MiB |
| python_async_grpc           |    4763 |      209.46 ms |      229.25 ms |      232.44 ms |      237.86 ms |  149.02% |     75.47 MiB |
| python_grpc                 |    3943 |      252.94 ms |      279.34 ms |      283.34 ms |      292.56 ms |  149.89% |     34.88 MiB |
| ruby_grpc                   |    2545 |      391.51 ms |      429.13 ms |      440.87 ms |      497.03 ms |  126.41% |     35.56 MiB |
| php_grpc                    |    2147 |      463.80 ms |      493.50 ms |      494.59 ms |      496.68 ms |  205.34% |     65.87 MiB |
-----------------------------------------------------------------------------------------------------------------------------------------

3 CPU Server

-----------------------------------------------------------------------------------------------------------------------------------------
| name                        |   req/s |   avg. latency |        90 % in |        95 % in |        99 % in | avg. cpu |   avg. memory |
-----------------------------------------------------------------------------------------------------------------------------------------
| scala_akka                  |   73853 |       10.03 ms |       17.85 ms |       23.12 ms |       36.09 ms |  199.62% |    245.08 MiB |
| cpp_grpc_mt                 |   72723 |        9.62 ms |       18.20 ms |       24.07 ms |       38.61 ms |  238.53% |     38.46 MiB |
| dotnet_grpc                 |   72592 |       10.52 ms |       17.20 ms |       21.38 ms |       31.53 ms |  202.03% |     152.9 MiB |
| cpp_asio_grpc               |   72507 |        9.75 ms |       18.37 ms |       23.99 ms |       37.23 ms |   243.2% |     42.43 MiB |
| java_hotspot_grpc_pgc       |   72404 |       10.04 ms |       21.42 ms |       27.78 ms |       39.52 ms |  245.31% |    213.38 MiB |
| rust_tonic_mt               |   70898 |       11.05 ms |       21.99 ms |       28.49 ms |       42.39 ms |  258.73% |     21.86 MiB |
| java_hotspot_grpc_g1gc      |   70281 |       10.55 ms |       21.17 ms |       27.43 ms |       41.59 ms |  260.35% |    174.43 MiB |
| java_hotspot_grpc_she       |   69851 |       10.75 ms |       21.74 ms |       28.03 ms |       42.22 ms |  266.95% |    414.21 MiB |
| java_hotspot_grpc_zgc       |   69816 |       10.68 ms |       20.93 ms |       27.25 ms |       40.36 ms |  273.23% |    120.78 MiB |
| java_openj9_grpc_gencon     |   69538 |       10.65 ms |       20.93 ms |       26.72 ms |       42.56 ms |  272.22% |    137.59 MiB |
| rust_grpcio                 |   69517 |       11.32 ms |       20.13 ms |       25.77 ms |       39.33 ms |  255.07% |     37.72 MiB |
| rust_thruster_mt            |   66192 |       12.16 ms |       24.73 ms |       31.72 ms |       46.62 ms |  256.83% |      15.8 MiB |
| kotlin_grpc                 |   64683 |       11.91 ms |       29.96 ms |       40.18 ms |       55.74 ms |   296.7% |    237.78 MiB |
| java_hotspot_grpc_sgc       |   59003 |       14.05 ms |       28.55 ms |       33.98 ms |       41.85 ms |  231.28% |     97.91 MiB |
| java_quarkus                |   53819 |       15.68 ms |       27.22 ms |       40.50 ms |       49.28 ms |  207.44% |    116.75 MiB |
| go_grpc                     |   51479 |       15.18 ms |       33.15 ms |       41.10 ms |       55.56 ms |  307.26% |     30.34 MiB |
| rust_tonic_st               |   47675 |       20.49 ms |       24.97 ms |       26.36 ms |       29.80 ms |  100.47% |     15.54 MiB |
| rust_thruster_st            |   43533 |       22.50 ms |       26.63 ms |       28.87 ms |       32.43 ms |  101.33% |     12.76 MiB |
| java_micronaut              |   41064 |       22.24 ms |       48.27 ms |       57.51 ms |       73.61 ms |  306.05% |    511.14 MiB |
| java_micronaut_workstealing |   34655 |       26.70 ms |       45.16 ms |       53.29 ms |       69.68 ms |  273.16% |    511.19 MiB |
| csharp_grpc                 |   31845 |       29.36 ms |       51.33 ms |       57.14 ms |       67.66 ms |   305.2% |     108.9 MiB |
| cpp_grpc_st                 |   28724 |       34.64 ms |       39.33 ms |       40.66 ms |       43.62 ms |  102.38% |      8.78 MiB |
| crystal_grpc                |   21852 |       44.79 ms |       54.68 ms |       56.27 ms |       62.48 ms |  126.77% |      38.3 MiB |
| scala_zio                   |   16817 |       58.13 ms |       91.53 ms |      105.63 ms |      152.79 ms |  305.36% |    303.43 MiB |
| scala_fs2                   |   12795 |       77.88 ms |       87.52 ms |       91.57 ms |      105.33 ms |  317.35% |    241.82 MiB |
| java_aot                    |   12077 |       80.71 ms |      165.11 ms |      191.24 ms |      249.95 ms |  279.66% |    234.19 MiB |
| elixir_grpc                 |   12027 |       82.98 ms |       97.56 ms |      103.54 ms |      117.38 ms |  305.73% |    125.14 MiB |
| erlang_grpcbox              |   10619 |       93.93 ms |      103.36 ms |      106.75 ms |      116.89 ms |  290.84% |     91.01 MiB |
| node_grpcjs_st              |    6178 |      161.33 ms |      170.51 ms |      174.43 ms |      181.13 ms |  130.68% |     46.27 MiB |
| python_async_grpc           |    4814 |      207.28 ms |      228.14 ms |      233.52 ms |      238.41 ms |  151.89% |     78.85 MiB |
| python_grpc                 |    3851 |      259.01 ms |      282.03 ms |      285.88 ms |      293.37 ms |  149.74% |      34.8 MiB |
| php_grpc                    |    3554 |      280.60 ms |      295.59 ms |      296.65 ms |      299.54 ms |  309.13% |     66.34 MiB |
| ruby_grpc                   |    2542 |      391.90 ms |      427.67 ms |      439.96 ms |      514.82 ms |   132.8% |     41.01 MiB |
-----------------------------------------------------------------------------------------------------------------------------------------