OLD | NEW |
| (Empty) |
1 Contents | |
2 -------- | |
3 | |
4 This folder contains three kinds of file: | |
5 | |
6 - Code, such as ProtoBench.java, to build the benchmarking framework. | |
7 - Protocol buffer definitions (.proto files) | |
8 - Sample data files | |
9 | |
10 If we end up with a lot of different benchmarks it may be worth | |
11 separating these out info different directories, but while there are | |
12 so few they might as well all be together. | |
13 | |
14 Running a benchmark (Java) | |
15 -------------------------- | |
16 | |
17 1) Build protoc and the Java protocol buffer library. The examples | |
18 below assume a jar file (protobuf.jar) has been built and copied | |
19 into this directory. | |
20 | |
21 2) Build ProtoBench: | |
22 $ javac -d tmp -cp protobuf.jar ProtoBench.java | |
23 | |
24 3) Generate code for the relevant benchmark protocol buffer, e.g. | |
25 $ protoc --java_out=tmp google_size.proto google_speed.proto | |
26 | |
27 4) Build the generated code, e.g. | |
28 $ cd tmp | |
29 $ javac -d . -cp ../protobuf.jar benchmarks/*.java | |
30 | |
31 5) Run the test. Arguments are given in pairs - the first argument | |
32 is the descriptor type; the second is the filename. For example: | |
33 $ java -cp .;../protobuf.jar com.google.protocolbuffers.ProtoBench | |
34 benchmarks.GoogleSize$SizeMessage1 ../google_message1.dat | |
35 benchmarks.GoogleSpeed$SpeedMessage1 ../google_message1.dat | |
36 benchmarks.GoogleSize$SizeMessage2 ../google_message2.dat | |
37 benchmarks.GoogleSpeed$SpeedMessage2 ../google_message2.dat | |
38 | |
39 6) Wait! Each test runs for around 30 seconds, and there are 6 tests | |
40 per class/data combination. The above command would therefore take | |
41 about 12 minutes to run. | |
42 | |
43 | |
44 Benchmarks available | |
45 -------------------- | |
46 | |
47 From Google: | |
48 google_size.proto and google_speed.proto, messages | |
49 google_message1.dat and google_message2.dat. The proto files are | |
50 equivalent, but optimized differently. | |
OLD | NEW |