Joshua Haberman a289d43608 Added C++ benchmark. (#1525) %!s(int64=9) %!d(string=hai) anos
..
Makefile.am a289d43608 Added C++ benchmark. (#1525) %!s(int64=9) %!d(string=hai) anos
ProtoBench.java e428862450 Replace links to code.google.com/protobuf with developers.google.com/protocol-buffers %!s(int64=11) %!d(string=hai) anos
README.md 30a2f70eb3 Added README describing the directory. %!s(int64=9) %!d(string=hai) anos
benchmark_messages_proto2.proto a289d43608 Added C++ benchmark. (#1525) %!s(int64=9) %!d(string=hai) anos
benchmark_messages_proto3.proto a289d43608 Added C++ benchmark. (#1525) %!s(int64=9) %!d(string=hai) anos
benchmarks.proto 247ef1f0df Addressed PR comments. %!s(int64=9) %!d(string=hai) anos
cpp_benchmark.cc a289d43608 Added C++ benchmark. (#1525) %!s(int64=9) %!d(string=hai) anos
generate_datasets.cc 247ef1f0df Addressed PR comments. %!s(int64=9) %!d(string=hai) anos
google_message1.dat 90bdae226e Update benchmark data. %!s(int64=16) %!d(string=hai) anos
google_message2.dat ff9c9e4d93 Initial benchmarking. %!s(int64=16) %!d(string=hai) anos
google_size.proto fb77cc9d9f More cleanup, based around searches for "Google.ProtocolBuffers" %!s(int64=10) %!d(string=hai) anos
readme.txt f5c7a4896d benchmarks: update readme.txt %!s(int64=9) %!d(string=hai) anos

README.md

Protocol Buffers Benchmarks

This directory contains benchmarking schemas and data sets that you can use to test a variety of performance scenarios against your protobuf language runtime.

The schema for the datasets is described in benchmarks.proto.

Generate the data sets like so:

$ make
$ ./generate-datasets
Wrote dataset: dataset.google_message1_proto3.pb
Wrote dataset: dataset.google_message1_proto2.pb
Wrote dataset: dataset.google_message2.pb
$

Each data set will be written to its own file. Benchmarks will likely want to run several benchmarks against each data set (parse, serialize, possibly JSON, possibly using different APIs, etc).

We would like to add more data sets. In general we will favor data sets that make the overall suite diverse without being too large or having too many similar tests. Ideally everyone can run through the entire suite without the test run getting too long.