aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/protobuf/3.4.0/benchmarks/readme.txt
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/protobuf/3.4.0/benchmarks/readme.txt')
-rw-r--r--third_party/protobuf/3.4.0/benchmarks/readme.txt46
1 files changed, 46 insertions, 0 deletions
diff --git a/third_party/protobuf/3.4.0/benchmarks/readme.txt b/third_party/protobuf/3.4.0/benchmarks/readme.txt
new file mode 100644
index 0000000000..b08b8bc09c
--- /dev/null
+++ b/third_party/protobuf/3.4.0/benchmarks/readme.txt
@@ -0,0 +1,46 @@
+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
+
+4) Build the generated code, e.g.
+ $ javac -d tmp -cp protobuf.jar tmp/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 tmp:protobuf.jar com.google.protocolbuffers.ProtoBench \
+ 'benchmarks.GoogleSize$SizeMessage1' google_message1.dat \
+ 'benchmarks.GoogleSize$SizeMessage2' google_message2.dat
+
+6) Wait! Each test runs for around 30 seconds, and there are 8 tests
+ per class/data combination. The above command would therefore take
+ about 8 minutes to run.
+
+
+Benchmarks available
+--------------------
+
+From Google:
+google_size.proto,
+messages google_message1.dat and google_message2.dat.