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.
 
 
 
 
 
 
jonathan.skeet 90bdae226e Update benchmark data. 16 years ago
..
ProtoBench.java Added copyright notice, made constants constant, added GC call before each test. 16 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.