Home | History | Annotate | only in /external/protobuf/benchmarks
Up to higher level directory
NameDateSize
google_message1.dat21-Oct-2016228
google_message2.dat21-Oct-201682.6K
google_size.proto21-Oct-20164.6K
google_speed.proto21-Oct-20164.6K
ProtoBench.java21-Oct-20168.1K
readme.txt21-Oct-20161.7K

readme.txt

      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.
     51