commit | a80229e4edf55658fafe7e0a4b9bbd69c8704ee5 | [log] [tgz] |
---|---|---|
author | Damien Neil <dneil@google.com> | Thu Jun 20 12:53:48 2019 -0700 |
committer | Damien Neil <dneil@google.com> | Thu Jun 20 20:38:50 2019 +0000 |
tree | 9a82a34bcc536ac308bb49a9244ba8bcfa2b9ca5 | |
parent | ef75becaa887e748bd9bca2c4b5ee26a0b24c4b2 [diff] |
proto: add benchmark using protobuf repo test data The primary (cross-language) protobuf repository contains benchmark data sets. Add benchmarks using this data. (A version of this benchmark exists in the protobuf repository, but it uses the v1 API and isn't trivial to get working.) Fetch the small benchmark datasets from the github.com/protocolbuffers/protobuf repo by default. Add a download_benchdata.bash script which fetches the larger datasets as well. Generate necessary packages under internal/testprotos/benchmarks. To run: go run ./proto -bench=BenchmarkData Usual caveats about benchmarking apply: While these benchmarks use realistic data, isolated microbenchmarking of proto operations is not necessarily representitive of performance in production systems. Change-Id: I58d107554baf104568c86997b5ad50be8b2a5790 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/183297 Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
WARNING: This repository is in active development. There are no guarantees about API stability. Breaking changes will occur until a stable release is made and announced.
This repository is for the development of the next major Go implementation of protocol buffers. This library makes breaking API changes relative to the existing Go protobuf library. Of particular note, this API aims to make protobuf reflection a first-class feature of the API and implements the protobuf ecosystem in terms of reflection.
List of relevant design documents:
We appreciate community contributions. See CONTRIBUTING.md.
Issues regarding the new API can be filed at github.com/golang/protobuf. Please use a APIv2:
prefix in the title to make it clear that the issue is regarding the new API work.