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

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.