From 1c062a65af0fb439167d9cf81ef28c14c3836ace Mon Sep 17 00:00:00 2001 From: Yilun Chong Date: Fri, 1 Dec 2017 11:55:38 -0800 Subject: Sync internal benchmark changes --- benchmarks/README.md | 41 ++++++++++++++++++++++++++++++++--------- 1 file changed, 32 insertions(+), 9 deletions(-) (limited to 'benchmarks/README.md') diff --git a/benchmarks/README.md b/benchmarks/README.md index c9027805..0273e389 100644 --- a/benchmarks/README.md +++ b/benchmarks/README.md @@ -7,19 +7,42 @@ protobuf language runtime. The schema for the datasets is described in `benchmarks.proto`. -Generate the data sets like so: +To run all the benchmark dataset: + +For java: + +``` +$ make java +``` + +For cpp: ``` -$ make -$ ./generate-datasets -Wrote dataset: dataset.google_message1_proto3.pb -Wrote dataset: dataset.google_message1_proto2.pb -Wrote dataset: dataset.google_message2.pb -$ +$ make cpp ``` -Each data set will be written to its own file. Benchmarks will -likely want to run several benchmarks against each data set (parse, +To run a specific dataset: + +For java: + +``` +$ make java +$ ./java-benchmark $(specific generated dataset file name) +``` + +For cpp: + +``` +$ make cpp +$ ./cpp-benchmark $(specific generated dataset file name) +``` + +Each data set is in the format of benchmarks.proto: +1. name is the benchmark dataset's name. +2. message_name is the benchmark's message type full name (including package and message name) +3. payload is the list of raw data. + +Benchmark likely want to run several benchmarks against each data set (parse, serialize, possibly JSON, possibly using different APIs, etc). We would like to add more data sets. In general we will favor data sets -- cgit v1.2.3