Skip to content

Latest commit

 

History

History
68 lines (54 loc) · 3.62 KB

README.md

File metadata and controls

68 lines (54 loc) · 3.62 KB

perftest

The purpose of this package is to compare the performances of

  • protobuf
  • quick-protobuf
  • prost

These tests are copied and adapted from rust-protobuf

Setup

Prost requires google protoc to be installed and available in your PATH. For the 3 projects, all files are generated at build time.

Results

         labels   rust-protobuf  quick-protobuf           prost      quick/rust      prost/rust
                        ns/iter         ns/iter         ns/iter               %               %

test1
          write              72              20              21            72.2            70.8
           read              71              31              53            56.3            25.4
    read no vec              44              20              46            54.5            -4.5
     read reuse              42                              NA              NA

test_repeated_bool
          write              80              33              28            58.8            65.0
           read             167             114             147            31.7            12.0
    read no vec             124              79             123            36.3             0.8
     read reuse              62                              NA              NA

test_repeated_packed_int32
          write             135              69              46            48.9            65.9
           read             241             186             216            22.8            10.4
    read no vec             182             152             180            16.5             1.1
     read reuse              71                              NA              NA

test_repeated_messages
          write             213             178             227            16.4            -6.6
           read             665             550             519            17.3            22.0
    read no vec             384             380             353             1.0             8.1
     read reuse             169                              NA              NA

test_optional_messages
          write             223             157             104            29.6            53.4
           read             515             316             313            38.6            39.2
    read no vec             354             241             249            31.9            29.7
     read reuse             191                              NA              NA

test_strings
          write             146              63              59            56.8            59.6
           read             345             185             247            46.4            28.4
    read no vec             234              87             178            62.8            23.9
     read reuse             124                              NA              NA

test_small_bytearrays
          write             479             463             318             3.3            33.6
           read             747              99             729            86.7             2.4
    read no vec             182              31             259            83.0           -42.3
     read reuse             113                              NA              NA

test_large_bytearrays
          write          109299           96753           89523            11.5            18.1
           read           47513            8598           66959            81.9           -40.9
    read no vec           11245              56            9641            99.5            14.3
     read reuse            8834                              NA              NA