Skip to content

Decode/Encode Benchmarks for Various OSS Go Protocol buffers (proto) Generators

License

Notifications You must be signed in to change notification settings

bwplotka/go-proto-bench

Repository files navigation

go-proto-bench (2023)

Decode/Encode Benchmark for Various OSS Go Protocol buffers (proto) Generators

What's this?

The goal of this repository is to give more data on efficiency and usability of various Protocol Buffers generators and plugins that enhances the native google.golang.org/protobuf Go de/serialization implementation e.g.:

All benchmark code is available for verifications and reproduction.

Benchmarks here use our new WIP Prometheus Remote Write 2.0 as a reference protobuf message. What's unique about it, is that we took a high priority on efficiency while developing it which resulted in custom string interning we wished was more popular in the community. 😉

Results

NOTE: Performed on MacOS 14.1.1 M1 Pro 16GB RAM

NOTE2: v1 and v2 refer to Prometheus Remote Write version. You can focus on v2 to see differences between generators.

See early results here

About

Decode/Encode Benchmarks for Various OSS Go Protocol buffers (proto) Generators

Resources

License

Stars

Watchers

Forks