Protocol Buffers - Google's data interchange format (grpc依赖) https://developers.google.com/protocol-buffers/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kenton@google.com 6ba3df0d32 Add benchmarks for writing to a FileOutputStream. Patch from Evan Jones. 15 years ago
..
ProtoBench.java Add benchmarks for writing to a FileOutputStream. Patch from Evan Jones. 15 years ago
google_message1.dat Update benchmark data. 16 years ago
google_message2.dat Initial benchmarking. 16 years ago
google_size.proto Initial benchmarking. 16 years ago
google_speed.proto Initial benchmarking. 16 years ago
readme.txt Initial benchmarking. 16 years ago

readme.txt

Contents
--------

This folder contains three kinds of file:

- Code, such as ProtoBench.java, to build the benchmarking framework.
- Protocol buffer definitions (.proto files)
- Sample data files

If we end up with a lot of different benchmarks it may be worth
separating these out info different directories, but while there are
so few they might as well all be together.

Running a benchmark (Java)
--------------------------

1) Build protoc and the Java protocol buffer library. The examples
below assume a jar file (protobuf.jar) has been built and copied
into this directory.

2) Build ProtoBench:
$ javac -d tmp -cp protobuf.jar ProtoBench.java

3) Generate code for the relevant benchmark protocol buffer, e.g.
$ protoc --java_out=tmp google_size.proto google_speed.proto

4) Build the generated code, e.g.
$ cd tmp
$ javac -d . -cp ../protobuf.jar benchmarks/*.java

5) Run the test. Arguments are given in pairs - the first argument
is the descriptor type; the second is the filename. For example:
$ java -cp .;../protobuf.jar com.google.protocolbuffers.ProtoBench
benchmarks.GoogleSize$SizeMessage1 ../google_message1.dat
benchmarks.GoogleSpeed$SpeedMessage1 ../google_message1.dat
benchmarks.GoogleSize$SizeMessage2 ../google_message2.dat
benchmarks.GoogleSpeed$SpeedMessage2 ../google_message2.dat

6) Wait! Each test runs for around 30 seconds, and there are 6 tests
per class/data combination. The above command would therefore take
about 12 minutes to run.


Benchmarks available
--------------------

From Google:
google_size.proto and google_speed.proto, messages
google_message1.dat and google_message2.dat. The proto files are
equivalent, but optimized differently.