diff options
Diffstat (limited to 'third_party/protobuf/3.6.0/benchmarks/java/src/main/java/com/google/protobuf/ProtoCaliperBenchmark.java')
-rw-r--r-- | third_party/protobuf/3.6.0/benchmarks/java/src/main/java/com/google/protobuf/ProtoCaliperBenchmark.java | 232 |
1 files changed, 0 insertions, 232 deletions
diff --git a/third_party/protobuf/3.6.0/benchmarks/java/src/main/java/com/google/protobuf/ProtoCaliperBenchmark.java b/third_party/protobuf/3.6.0/benchmarks/java/src/main/java/com/google/protobuf/ProtoCaliperBenchmark.java deleted file mode 100644 index 94568aea78..0000000000 --- a/third_party/protobuf/3.6.0/benchmarks/java/src/main/java/com/google/protobuf/ProtoCaliperBenchmark.java +++ /dev/null @@ -1,232 +0,0 @@ - -package com.google.protobuf; - -import com.google.caliper.BeforeExperiment; -import com.google.caliper.AfterExperiment; -import com.google.caliper.Benchmark; -import com.google.caliper.Param; -import com.google.protobuf.ByteString; -import com.google.protobuf.CodedOutputStream; -import com.google.protobuf.ExtensionRegistry; -import com.google.protobuf.Message; -import com.google.protobuf.benchmarks.Benchmarks.BenchmarkDataset; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.FileWriter; -import java.io.IOException; -import java.io.RandomAccessFile; -import java.util.ArrayList; -import java.util.List; - -public class ProtoCaliperBenchmark { - public enum BenchmarkMessageType { - GOOGLE_MESSAGE1_PROTO3 { - @Override ExtensionRegistry getExtensionRegistry() { return ExtensionRegistry.newInstance(); } - @Override - Message getDefaultInstance() { - return com.google.protobuf.benchmarks.BenchmarkMessage1Proto3.GoogleMessage1 - .getDefaultInstance(); - } - }, - GOOGLE_MESSAGE1_PROTO2 { - @Override ExtensionRegistry getExtensionRegistry() { return ExtensionRegistry.newInstance(); } - @Override - Message getDefaultInstance() { - return com.google.protobuf.benchmarks.BenchmarkMessage1Proto2.GoogleMessage1 - .getDefaultInstance(); - } - }, - GOOGLE_MESSAGE2 { - @Override ExtensionRegistry getExtensionRegistry() { return ExtensionRegistry.newInstance(); } - @Override - Message getDefaultInstance() { - return com.google.protobuf.benchmarks.BenchmarkMessage2.GoogleMessage2.getDefaultInstance(); - } - }, - GOOGLE_MESSAGE3 { - @Override - ExtensionRegistry getExtensionRegistry() { - ExtensionRegistry extensions = ExtensionRegistry.newInstance(); - com.google.protobuf.benchmarks.BenchmarkMessage38.registerAllExtensions(extensions); - com.google.protobuf.benchmarks.BenchmarkMessage37.registerAllExtensions(extensions); - com.google.protobuf.benchmarks.BenchmarkMessage36.registerAllExtensions(extensions); - com.google.protobuf.benchmarks.BenchmarkMessage35.registerAllExtensions(extensions); - com.google.protobuf.benchmarks.BenchmarkMessage34.registerAllExtensions(extensions); - com.google.protobuf.benchmarks.BenchmarkMessage33.registerAllExtensions(extensions); - com.google.protobuf.benchmarks.BenchmarkMessage32.registerAllExtensions(extensions); - com.google.protobuf.benchmarks.BenchmarkMessage31.registerAllExtensions(extensions); - com.google.protobuf.benchmarks.BenchmarkMessage3.registerAllExtensions(extensions); - return extensions; - } - @Override - Message getDefaultInstance() { - return com.google.protobuf.benchmarks.BenchmarkMessage3.GoogleMessage3.getDefaultInstance(); - } - }, - GOOGLE_MESSAGE4 { - @Override - ExtensionRegistry getExtensionRegistry() { - ExtensionRegistry extensions = ExtensionRegistry.newInstance(); - com.google.protobuf.benchmarks.BenchmarkMessage43.registerAllExtensions(extensions); - com.google.protobuf.benchmarks.BenchmarkMessage42.registerAllExtensions(extensions); - com.google.protobuf.benchmarks.BenchmarkMessage41.registerAllExtensions(extensions); - com.google.protobuf.benchmarks.BenchmarkMessage4.registerAllExtensions(extensions); - return extensions; - } - @Override - Message getDefaultInstance() { - return com.google.protobuf.benchmarks.BenchmarkMessage4.GoogleMessage4.getDefaultInstance(); - } - }; - - abstract ExtensionRegistry getExtensionRegistry(); - abstract Message getDefaultInstance(); - } - - private BenchmarkMessageType benchmarkMessageType; - @Param("") - private String dataFile; - - private byte[] inputData; - private BenchmarkDataset benchmarkDataset; - private Message defaultMessage; - private ExtensionRegistry extensions; - private List<byte[]> inputDataList; - private List<ByteArrayInputStream> inputStreamList; - private List<ByteString> inputStringList; - private List<Message> sampleMessageList; - - private BenchmarkMessageType getMessageType() throws IOException { - if (benchmarkDataset.getMessageName().equals("benchmarks.proto3.GoogleMessage1")) { - return BenchmarkMessageType.GOOGLE_MESSAGE1_PROTO3; - } else if (benchmarkDataset.getMessageName().equals("benchmarks.proto2.GoogleMessage1")) { - return BenchmarkMessageType.GOOGLE_MESSAGE1_PROTO2; - } else if (benchmarkDataset.getMessageName().equals("benchmarks.proto2.GoogleMessage2")) { - return BenchmarkMessageType.GOOGLE_MESSAGE2; - } else if (benchmarkDataset.getMessageName(). - equals("benchmarks.google_message3.GoogleMessage3")) { - return BenchmarkMessageType.GOOGLE_MESSAGE3; - } else if (benchmarkDataset.getMessageName(). - equals("benchmarks.google_message4.GoogleMessage4")) { - return BenchmarkMessageType.GOOGLE_MESSAGE4; - } else { - throw new IllegalStateException("Invalid DataFile! There's no testing message named " - + benchmarkDataset.getMessageName()); - } - } - - @BeforeExperiment - void setUp() throws IOException { - if (!dataFile.equals("")) { - RandomAccessFile file = new RandomAccessFile(new File(dataFile), "r"); - inputData = new byte[(int) file.length()]; - file.readFully(inputData); - benchmarkDataset = BenchmarkDataset.parseFrom(inputData); - benchmarkMessageType = getMessageType(); - } else { - inputData = new byte[0]; - benchmarkDataset = BenchmarkDataset.parseFrom(inputData); - benchmarkMessageType = BenchmarkMessageType.GOOGLE_MESSAGE2; - } - defaultMessage = benchmarkMessageType.getDefaultInstance(); - extensions = benchmarkMessageType.getExtensionRegistry(); - inputDataList = new ArrayList<byte[]>(); - inputStreamList = new ArrayList<ByteArrayInputStream>(); - inputStringList = new ArrayList<ByteString>(); - sampleMessageList = new ArrayList<Message>(); - - for (int i = 0; i < benchmarkDataset.getPayloadCount(); i++) { - byte[] singleInputData = benchmarkDataset.getPayload(i).toByteArray(); - inputDataList.add(benchmarkDataset.getPayload(i).toByteArray()); - inputStreamList.add(new ByteArrayInputStream( - benchmarkDataset.getPayload(i).toByteArray())); - inputStringList.add(benchmarkDataset.getPayload(i)); - sampleMessageList.add( - defaultMessage.newBuilderForType().mergeFrom(singleInputData, extensions).build()); - } - } - - - @Benchmark - void serializeToByteString(int reps) throws IOException { - if (sampleMessageList.size() == 0) { - return; - } - for (int i = 0; i < reps; i++) { - for (int j = 0; j < sampleMessageList.size(); j++) { - sampleMessageList.get(j).toByteString(); - } - } - } - - @Benchmark - void serializeToByteArray(int reps) throws IOException { - if (sampleMessageList.size() == 0) { - return; - } - for (int i = 0; i < reps; i++) { - for (int j = 0; j < sampleMessageList.size(); j++) { - sampleMessageList.get(j).toByteArray(); - } - } - } - - @Benchmark - void serializeToMemoryStream(int reps) throws IOException { - if (sampleMessageList.size() == 0) { - return; - } - for (int i = 0; i < reps; i++) { - for (int j = 0; j < sampleMessageList.size(); j++) { - ByteArrayOutputStream output = new ByteArrayOutputStream(); - sampleMessageList.get(j).writeTo(output); - } - } - } - - @Benchmark - void deserializeFromByteString(int reps) throws IOException { - if (inputStringList.size() == 0) { - return; - } - for (int i = 0; i < reps; i++) { - for (int j = 0; j < inputStringList.size(); j++) { - benchmarkMessageType.getDefaultInstance().getParserForType().parseFrom( - inputStringList.get(j), extensions); - } - } - } - - @Benchmark - void deserializeFromByteArray(int reps) throws IOException { - if (inputDataList.size() == 0) { - return; - } - for (int i = 0; i < reps; i++) { - for (int j = 0; j < inputDataList.size(); j++) { - benchmarkMessageType.getDefaultInstance().getParserForType().parseFrom( - inputDataList.get(j), extensions); - } - } - } - - @Benchmark - void deserializeFromMemoryStream(int reps) throws IOException { - if (inputStreamList.size() == 0) { - return; - } - for (int i = 0; i < reps; i++) { - for (int j = 0; j < inputStreamList.size(); j++) { - benchmarkMessageType.getDefaultInstance().getParserForType().parseFrom( - inputStreamList.get(j), extensions); - inputStreamList.get(j).reset(); - } - } - } -} - - |