parent
1595417dd3
commit
10cbdfef5f
52 changed files with 0 additions and 12293 deletions
@ -1,121 +0,0 @@ |
||||
load("@rules_cc//cc:defs.bzl", "cc_proto_library") |
||||
load("@rules_java//java:defs.bzl", "java_proto_library") |
||||
load("@rules_pkg//:mappings.bzl", "pkg_filegroup", "pkg_files", "strip_prefix") |
||||
load("@rules_proto//proto:defs.bzl", "proto_library") |
||||
load("//:protobuf.bzl", "internal_php_proto_library", "internal_py_proto_library") |
||||
|
||||
################################################################################ |
||||
# Benchmark Protos |
||||
################################################################################ |
||||
|
||||
proto_library( |
||||
name = "benchmarks_proto", |
||||
srcs = [ |
||||
"benchmarks.proto", |
||||
], |
||||
strip_import_prefix = "/benchmarks", |
||||
visibility = [ |
||||
"//benchmarks:__subpackages__", |
||||
], |
||||
) |
||||
|
||||
cc_proto_library( |
||||
name = "benchmarks_cc_proto", |
||||
visibility = [ |
||||
"//benchmarks:__subpackages__", |
||||
], |
||||
deps = [ |
||||
"benchmarks_proto", |
||||
], |
||||
) |
||||
|
||||
java_proto_library( |
||||
name = "benchmarks_java_proto", |
||||
visibility = [ |
||||
"//benchmarks:__subpackages__", |
||||
], |
||||
deps = [ |
||||
"benchmarks_proto", |
||||
], |
||||
) |
||||
|
||||
internal_php_proto_library( |
||||
name = "benchmarks_php_proto", |
||||
srcs = ["benchmarks.proto"], |
||||
outs = [ |
||||
"Benchmarks/BenchmarkDataset.php", |
||||
"GPBMetadata/Benchmarks.php", |
||||
], |
||||
visibility = [ |
||||
"//benchmarks:__subpackages__", |
||||
], |
||||
) |
||||
|
||||
internal_py_proto_library( |
||||
name = "benchmarks_py_proto", |
||||
srcs = ["benchmarks.proto"], |
||||
visibility = [ |
||||
"//benchmarks:__subpackages__", |
||||
], |
||||
) |
||||
|
||||
proto_library( |
||||
name = "google_size_proto", |
||||
srcs = [ |
||||
"google_size.proto", |
||||
], |
||||
strip_import_prefix = "/benchmarks", |
||||
visibility = [ |
||||
"//benchmarks:__subpackages__", |
||||
], |
||||
) |
||||
|
||||
cc_proto_library( |
||||
name = "google_size_cc_proto", |
||||
visibility = [ |
||||
"//benchmarks:__subpackages__", |
||||
], |
||||
deps = [ |
||||
"google_size_proto", |
||||
], |
||||
) |
||||
|
||||
java_proto_library( |
||||
name = "google_size_java_proto", |
||||
visibility = [ |
||||
"//benchmarks:__subpackages__", |
||||
], |
||||
deps = [ |
||||
"google_size_proto", |
||||
], |
||||
) |
||||
|
||||
################################################################################ |
||||
# Distribution files |
||||
################################################################################ |
||||
|
||||
pkg_files( |
||||
name = "dist_files", |
||||
srcs = glob(["*"]), |
||||
strip_prefix = strip_prefix.from_root(""), |
||||
) |
||||
|
||||
# Convenience filegroup for all files that should be packaged. |
||||
pkg_filegroup( |
||||
name = "all_dist_files", |
||||
srcs = [ |
||||
":dist_files", |
||||
"//benchmarks/cpp:dist_files", |
||||
"//benchmarks/datasets:dist_files", # not in autotools dist |
||||
"//benchmarks/datasets/google_message1/proto2:dist_files", |
||||
"//benchmarks/datasets/google_message1/proto3:dist_files", |
||||
"//benchmarks/datasets/google_message2:dist_files", |
||||
"//benchmarks/datasets/google_message3:dist_files", |
||||
"//benchmarks/datasets/google_message4:dist_files", |
||||
"//benchmarks/java:dist_files", |
||||
"//benchmarks/php:dist_files", |
||||
"//benchmarks/python:dist_files", |
||||
"//benchmarks/util:dist_files", |
||||
], |
||||
visibility = ["//pkg:__pkg__"], |
||||
) |
@ -1,239 +0,0 @@ |
||||
|
||||
# Protocol Buffers Benchmarks |
||||
|
||||
This directory contains benchmarking schemas and data sets that you |
||||
can use to test a variety of performance scenarios against your |
||||
protobuf language runtime. If you are looking for performance |
||||
numbers of officially supported languages, see [Protobuf Performance]( |
||||
https://github.com/protocolbuffers/protobuf/blob/main/docs/performance.md). |
||||
|
||||
## Prerequisite |
||||
|
||||
First, you need to follow the instruction in the root directory's README to |
||||
build your language's protobuf, then: |
||||
|
||||
### CPP |
||||
You need to install [cmake](https://cmake.org/) before building the benchmark. |
||||
|
||||
We are using [google/benchmark](https://github.com/google/benchmark) as the |
||||
benchmark tool for testing cpp. This will be automatically made during build the |
||||
cpp benchmark. |
||||
|
||||
The cpp protobuf performance can be improved by linking with |
||||
[TCMalloc](https://google.github.io/tcmalloc). |
||||
|
||||
### Java |
||||
We're using maven to build the java benchmarks, which is the same as to build |
||||
the Java protobuf. There're no other tools need to install. We're using |
||||
[google/caliper](https://github.com/google/caliper) as benchmark tool, which |
||||
can be automatically included by maven. |
||||
|
||||
### Python |
||||
We're using python C++ API for testing the generated |
||||
CPP proto version of python protobuf, which is also a prerequisite for Python |
||||
protobuf cpp implementation. You need to install the correct version of Python |
||||
C++ extension package before run generated CPP proto version of Python |
||||
protobuf's benchmark. e.g. under Ubuntu, you need to |
||||
|
||||
``` |
||||
$ sudo apt-get install python-dev |
||||
$ sudo apt-get install python3-dev |
||||
``` |
||||
And you also need to make sure `pkg-config` is installed. |
||||
|
||||
### Go |
||||
Go protobufs are maintained at [github.com/golang/protobuf]( |
||||
http://github.com/golang/protobuf). If not done already, you need to install the |
||||
toolchain and the Go protoc-gen-go plugin for protoc. |
||||
|
||||
To install protoc-gen-go, run: |
||||
|
||||
``` |
||||
$ go get -u github.com/golang/protobuf/protoc-gen-go |
||||
$ export PATH=$PATH:$(go env GOPATH)/bin |
||||
``` |
||||
|
||||
The first command installs `protoc-gen-go` into the `bin` directory in your local `GOPATH`. |
||||
The second command adds the `bin` directory to your `PATH` so that `protoc` can locate the plugin later. |
||||
|
||||
### PHP |
||||
PHP benchmark's requirement is the same as PHP protobuf's requirements. The benchmark will automatically |
||||
include PHP protobuf's src and build the c extension if required. |
||||
|
||||
### Node.js |
||||
Node.js benchmark need [node](https://nodejs.org/en/)(higher than V6) and [npm](https://www.npmjs.com/) package manager installed. This benchmark is using the [benchmark](https://www.npmjs.com/package/benchmark) framework to test, which needn't to manually install. And another prerequisite is [protobuf js](https://github.com/protocolbuffers/protobuf/tree/main/js), which needn't to manually install either |
||||
|
||||
### C# |
||||
The C# benchmark code is built as part of the main Google.Protobuf |
||||
solution. It requires the .NET Core SDK, and depends on |
||||
[BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet), which |
||||
will be downloaded automatically. |
||||
|
||||
## Run instructions |
||||
|
||||
To run all the benchmark dataset: |
||||
|
||||
### Java: |
||||
|
||||
First build the Java binary in the usual way with Maven: |
||||
|
||||
``` |
||||
$ cd java |
||||
$ mvn install |
||||
``` |
||||
|
||||
Assuming that completes successfully, |
||||
|
||||
``` |
||||
$ cd ../benchmarks |
||||
$ make java |
||||
``` |
||||
|
||||
### CPP: |
||||
|
||||
``` |
||||
$ make cpp |
||||
``` |
||||
|
||||
For linking with tcmalloc: |
||||
|
||||
``` |
||||
$ env LD_PRELOAD={directory to libtcmalloc.so} make cpp |
||||
``` |
||||
|
||||
### Python: |
||||
|
||||
We have three versions of python protobuf implementation: pure python, cpp |
||||
reflection and cpp generated code. To run these version benchmark, you need to: |
||||
|
||||
#### Pure Python: |
||||
|
||||
``` |
||||
$ make python-pure-python |
||||
``` |
||||
|
||||
#### CPP reflection: |
||||
|
||||
``` |
||||
$ make python-cpp-reflection |
||||
``` |
||||
|
||||
#### CPP generated code: |
||||
|
||||
``` |
||||
$ make python-cpp-generated-code |
||||
``` |
||||
|
||||
### Go |
||||
``` |
||||
$ make go |
||||
``` |
||||
|
||||
|
||||
### PHP |
||||
We have two version of php protobuf implementation: pure php, php with c extension. To run these version benchmark, you need to: |
||||
#### Pure PHP |
||||
``` |
||||
$ make php |
||||
``` |
||||
#### PHP with c extension |
||||
``` |
||||
$ make php_c |
||||
``` |
||||
|
||||
### Node.js |
||||
``` |
||||
$ make js |
||||
``` |
||||
|
||||
To run a specific dataset or run with specific options: |
||||
|
||||
### Java: |
||||
|
||||
``` |
||||
$ make java-benchmark |
||||
$ ./java-benchmark $(specific generated dataset file name) [$(caliper options)] |
||||
``` |
||||
|
||||
### CPP: |
||||
|
||||
``` |
||||
$ make cpp-benchmark |
||||
$ ./cpp-benchmark $(specific generated dataset file name) [$(benchmark options)] |
||||
``` |
||||
|
||||
### Python: |
||||
|
||||
For Python benchmark we have `--json` for outputting the json result |
||||
|
||||
#### Pure Python: |
||||
|
||||
``` |
||||
$ make python-pure-python-benchmark |
||||
$ ./python-pure-python-benchmark [--json] $(specific generated dataset file name) |
||||
``` |
||||
|
||||
#### CPP reflection: |
||||
|
||||
``` |
||||
$ make python-cpp-reflection-benchmark |
||||
$ ./python-cpp-reflection-benchmark [--json] $(specific generated dataset file name) |
||||
``` |
||||
|
||||
#### CPP generated code: |
||||
|
||||
``` |
||||
$ make python-cpp-generated-code-benchmark |
||||
$ ./python-cpp-generated-code-benchmark [--json] $(specific generated dataset file name) |
||||
``` |
||||
|
||||
### Go: |
||||
``` |
||||
$ make go-benchmark |
||||
$ ./go-benchmark $(specific generated dataset file name) [go testing options] |
||||
``` |
||||
|
||||
### PHP |
||||
#### Pure PHP |
||||
``` |
||||
$ make php-benchmark |
||||
$ ./php-benchmark $(specific generated dataset file name) |
||||
``` |
||||
#### PHP with c extension |
||||
``` |
||||
$ make php-c-benchmark |
||||
$ ./php-c-benchmark $(specific generated dataset file name) |
||||
``` |
||||
|
||||
### Node.js |
||||
``` |
||||
$ make js-benchmark |
||||
$ ./js-benchmark $(specific generated dataset file name) |
||||
``` |
||||
|
||||
### C# |
||||
From `csharp/src/Google.Protobuf.Benchmarks`, run: |
||||
|
||||
``` |
||||
$ dotnet run -c Release |
||||
``` |
||||
|
||||
We intend to add support for this within the makefile in due course. |
||||
|
||||
## Benchmark datasets |
||||
|
||||
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. |
||||
|
||||
The schema for the datasets is described in `benchmarks.proto`. |
||||
|
||||
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 |
||||
that make the overall suite diverse without being too large or having |
||||
too many similar tests. Ideally everyone can run through the entire |
||||
suite without the test run getting too long. |
@ -1,63 +0,0 @@ |
||||
// Protocol Buffers - Google's data interchange format |
||||
// Copyright 2008 Google Inc. All rights reserved. |
||||
// https://developers.google.com/protocol-buffers/ |
||||
// |
||||
// Redistribution and use in source and binary forms, with or without |
||||
// modification, are permitted provided that the following conditions are |
||||
// met: |
||||
// |
||||
// * Redistributions of source code must retain the above copyright |
||||
// notice, this list of conditions and the following disclaimer. |
||||
// * Redistributions in binary form must reproduce the above |
||||
// copyright notice, this list of conditions and the following disclaimer |
||||
// in the documentation and/or other materials provided with the |
||||
// distribution. |
||||
// * Neither the name of Google Inc. nor the names of its |
||||
// contributors may be used to endorse or promote products derived from |
||||
// this software without specific prior written permission. |
||||
// |
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
syntax = "proto3"; |
||||
package benchmarks; |
||||
option java_package = "com.google.protobuf.benchmarks"; |
||||
|
||||
message BenchmarkDataset { |
||||
// Name of the benchmark dataset. This should be unique across all datasets. |
||||
// Should only contain word characters: [a-zA-Z0-9_] |
||||
string name = 1; |
||||
|
||||
// Fully-qualified name of the protobuf message for this dataset. |
||||
// It will be one of the messages defined benchmark_messages_proto2.proto |
||||
// or benchmark_messages_proto3.proto. |
||||
// |
||||
// Implementations that do not support reflection can implement this with |
||||
// an explicit "if/else" chain that lists every known message defined |
||||
// in those files. |
||||
string message_name = 2; |
||||
|
||||
// The payload(s) for this dataset. They should be parsed or serialized |
||||
// in sequence, in a loop, ie. |
||||
// |
||||
// while (!benchmarkDone) { // Benchmark runner decides when to exit. |
||||
// for (i = 0; i < benchmark.payload.length; i++) { |
||||
// parse(benchmark.payload[i]) |
||||
// } |
||||
// } |
||||
// |
||||
// This is intended to let datasets include a variety of data to provide |
||||
// potentially more realistic results than just parsing the same message |
||||
// over and over. A single message parsed repeatedly could yield unusually |
||||
// good branch prediction performance. |
||||
repeated bytes payload = 3; |
||||
} |
@ -1,36 +0,0 @@ |
||||
load("@rules_cc//cc:defs.bzl", "cc_binary") |
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix") |
||||
load("//benchmarks:internal.bzl", "internal_benchmark_test") |
||||
|
||||
# The benchmark binary which can be run over any dataset. |
||||
cc_binary( |
||||
name = "cpp_benchmark", |
||||
srcs = [ |
||||
"cpp_benchmark.cc", |
||||
], |
||||
deps = [ |
||||
"//:protobuf", |
||||
"//benchmarks:benchmarks_cc_proto", |
||||
"//benchmarks/datasets:cc_protos", |
||||
"@com_github_google_benchmark//:benchmark_main", |
||||
], |
||||
) |
||||
|
||||
# A pre-configured binary using the checked in datasets. |
||||
internal_benchmark_test( |
||||
name = "cpp", |
||||
binary = ":cpp_benchmark", |
||||
datasets = [ |
||||
"//benchmarks/datasets", |
||||
], |
||||
) |
||||
|
||||
pkg_files( |
||||
name = "dist_files", |
||||
srcs = [ |
||||
"BUILD.bazel", |
||||
"cpp_benchmark.cc", |
||||
], |
||||
strip_prefix = strip_prefix.from_root(""), |
||||
visibility = ["//benchmarks:__pkg__"], |
||||
) |
@ -1,254 +0,0 @@ |
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2008 Google Inc. All rights reserved.
|
||||
// https://developers.google.com/protocol-buffers/
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
#include <fstream> |
||||
#include <iostream> |
||||
|
||||
#include "benchmark/benchmark.h" |
||||
#include "benchmarks.pb.h" |
||||
#include "benchmarks/datasets/google_message1/proto2/benchmark_message1_proto2.pb.h" |
||||
#include "benchmarks/datasets/google_message1/proto3/benchmark_message1_proto3.pb.h" |
||||
#include "benchmarks/datasets/google_message2/benchmark_message2.pb.h" |
||||
#include "benchmarks/datasets/google_message3/benchmark_message3.pb.h" |
||||
#include "benchmarks/datasets/google_message4/benchmark_message4.pb.h" |
||||
|
||||
#define PREFIX "dataset." |
||||
#define SUFFIX ".pb" |
||||
|
||||
using benchmarks::BenchmarkDataset; |
||||
using google::protobuf::Arena; |
||||
using google::protobuf::Descriptor; |
||||
using google::protobuf::DescriptorPool; |
||||
using google::protobuf::Message; |
||||
using google::protobuf::MessageFactory; |
||||
|
||||
class Fixture : public benchmark::Fixture { |
||||
public: |
||||
Fixture(const BenchmarkDataset& dataset, const std::string& suffix) { |
||||
for (int i = 0; i < dataset.payload_size(); i++) { |
||||
payloads_.push_back(dataset.payload(i)); |
||||
} |
||||
|
||||
const Descriptor* d = |
||||
DescriptorPool::generated_pool()->FindMessageTypeByName( |
||||
dataset.message_name()); |
||||
|
||||
if (!d) { |
||||
std::cerr << "Couldn't find message named '" << dataset.message_name() |
||||
<< "\n"; |
||||
} |
||||
|
||||
prototype_ = MessageFactory::generated_factory()->GetPrototype(d); |
||||
SetName((dataset.name() + suffix).c_str()); |
||||
} |
||||
|
||||
protected: |
||||
std::vector<std::string> payloads_; |
||||
const Message* prototype_; |
||||
}; |
||||
|
||||
class WrappingCounter { |
||||
public: |
||||
WrappingCounter(size_t limit) : value_(0), limit_(limit) {} |
||||
|
||||
size_t Next() { |
||||
size_t ret = value_; |
||||
if (++value_ == limit_) { |
||||
value_ = 0; |
||||
} |
||||
return ret; |
||||
} |
||||
|
||||
private: |
||||
size_t value_; |
||||
size_t limit_; |
||||
}; |
||||
|
||||
template <class T> |
||||
class ParseNewFixture : public Fixture { |
||||
public: |
||||
ParseNewFixture(const BenchmarkDataset& dataset) |
||||
: Fixture(dataset, "_parse_new") {} |
||||
|
||||
virtual void BenchmarkCase(benchmark::State& state) { |
||||
WrappingCounter i(payloads_.size()); |
||||
size_t total = 0; |
||||
|
||||
while (state.KeepRunning()) { |
||||
T m; |
||||
const std::string& payload = payloads_[i.Next()]; |
||||
total += payload.size(); |
||||
m.ParseFromString(payload); |
||||
} |
||||
|
||||
state.SetBytesProcessed(total); |
||||
} |
||||
}; |
||||
|
||||
template <class T> |
||||
class ParseNewArenaFixture : public Fixture { |
||||
public: |
||||
ParseNewArenaFixture(const BenchmarkDataset& dataset) |
||||
: Fixture(dataset, "_parse_newarena") {} |
||||
|
||||
virtual void BenchmarkCase(benchmark::State& state) { |
||||
WrappingCounter i(payloads_.size()); |
||||
size_t total = 0; |
||||
Arena arena; |
||||
|
||||
while (state.KeepRunning()) { |
||||
arena.Reset(); |
||||
Message* m = Arena::CreateMessage<T>(&arena); |
||||
const std::string& payload = payloads_[i.Next()]; |
||||
total += payload.size(); |
||||
m->ParseFromString(payload); |
||||
} |
||||
|
||||
state.SetBytesProcessed(total); |
||||
} |
||||
}; |
||||
|
||||
template <class T> |
||||
class ParseReuseFixture : public Fixture { |
||||
public: |
||||
ParseReuseFixture(const BenchmarkDataset& dataset) |
||||
: Fixture(dataset, "_parse_reuse") {} |
||||
|
||||
virtual void BenchmarkCase(benchmark::State& state) { |
||||
T m; |
||||
WrappingCounter i(payloads_.size()); |
||||
size_t total = 0; |
||||
|
||||
while (state.KeepRunning()) { |
||||
const std::string& payload = payloads_[i.Next()]; |
||||
total += payload.size(); |
||||
m.ParseFromString(payload); |
||||
} |
||||
|
||||
state.SetBytesProcessed(total); |
||||
} |
||||
}; |
||||
|
||||
template <class T> |
||||
class SerializeFixture : public Fixture { |
||||
public: |
||||
SerializeFixture(const BenchmarkDataset& dataset) |
||||
: Fixture(dataset, "_serialize") { |
||||
for (size_t i = 0; i < payloads_.size(); i++) { |
||||
message_.push_back(new T); |
||||
message_.back()->ParseFromString(payloads_[i]); |
||||
} |
||||
} |
||||
|
||||
~SerializeFixture() { |
||||
for (size_t i = 0; i < message_.size(); i++) { |
||||
delete message_[i]; |
||||
} |
||||
} |
||||
|
||||
virtual void BenchmarkCase(benchmark::State& state) { |
||||
size_t total = 0; |
||||
std::string str; |
||||
WrappingCounter i(payloads_.size()); |
||||
|
||||
while (state.KeepRunning()) { |
||||
str.clear(); |
||||
message_[i.Next()]->SerializeToString(&str); |
||||
total += str.size(); |
||||
} |
||||
|
||||
state.SetBytesProcessed(total); |
||||
} |
||||
|
||||
private: |
||||
std::vector<T*> message_; |
||||
}; |
||||
|
||||
std::string ReadFile(const std::string& name) { |
||||
std::ifstream file(name.c_str()); |
||||
GOOGLE_CHECK(file.is_open()) << "Couldn't find file '" << name << |
||||
"', please make sure you are running " |
||||
"this command from the benchmarks/ " |
||||
"directory.\n"; |
||||
return std::string((std::istreambuf_iterator<char>(file)), |
||||
std::istreambuf_iterator<char>()); |
||||
} |
||||
|
||||
template <class T> |
||||
void RegisterBenchmarksForType(const BenchmarkDataset& dataset) { |
||||
::benchmark::internal::RegisterBenchmarkInternal( |
||||
new ParseNewFixture<T>(dataset)); |
||||
::benchmark::internal::RegisterBenchmarkInternal( |
||||
new ParseReuseFixture<T>(dataset)); |
||||
::benchmark::internal::RegisterBenchmarkInternal( |
||||
new ParseNewArenaFixture<T>(dataset)); |
||||
::benchmark::internal::RegisterBenchmarkInternal( |
||||
new SerializeFixture<T>(dataset)); |
||||
} |
||||
|
||||
void RegisterBenchmarks(const std::string& dataset_bytes) { |
||||
BenchmarkDataset dataset; |
||||
GOOGLE_CHECK(dataset.ParseFromString(dataset_bytes)); |
||||
|
||||
if (dataset.message_name() == "benchmarks.proto3.GoogleMessage1") { |
||||
RegisterBenchmarksForType<benchmarks::proto3::GoogleMessage1>(dataset); |
||||
} else if (dataset.message_name() == "benchmarks.proto2.GoogleMessage1") { |
||||
RegisterBenchmarksForType<benchmarks::proto2::GoogleMessage1>(dataset); |
||||
} else if (dataset.message_name() == "benchmarks.proto2.GoogleMessage2") { |
||||
RegisterBenchmarksForType<benchmarks::proto2::GoogleMessage2>(dataset); |
||||
} else if (dataset.message_name() == |
||||
"benchmarks.google_message3.GoogleMessage3") { |
||||
RegisterBenchmarksForType |
||||
<benchmarks::google_message3::GoogleMessage3>(dataset); |
||||
} else if (dataset.message_name() == |
||||
"benchmarks.google_message4.GoogleMessage4") { |
||||
RegisterBenchmarksForType |
||||
<benchmarks::google_message4::GoogleMessage4>(dataset); |
||||
} else { |
||||
std::cerr << "Unknown message type: " << dataset.message_name(); |
||||
exit(1); |
||||
} |
||||
} |
||||
|
||||
int main(int argc, char *argv[]) { |
||||
::benchmark::Initialize(&argc, argv); |
||||
if (argc == 1) { |
||||
std::cerr << "Usage: ./cpp-benchmark <input data>" << std::endl; |
||||
std::cerr << "input data is in the format of \"benchmarks.proto\"" |
||||
<< std::endl; |
||||
return 1; |
||||
} else { |
||||
for (int i = 1; i < argc; i++) { |
||||
RegisterBenchmarks(ReadFile(argv[i])); |
||||
} |
||||
} |
||||
|
||||
::benchmark::RunSpecifiedBenchmarks(); |
||||
} |
@ -1,122 +0,0 @@ |
||||
load("@rules_cc//cc:defs.bzl", "cc_library") |
||||
load("@rules_java//java:defs.bzl", "java_library") |
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix") |
||||
load("@rules_proto//proto:defs.bzl", "proto_library") |
||||
|
||||
filegroup( |
||||
name = "datasets", |
||||
srcs = [ |
||||
"//benchmarks/datasets/google_message1/proto2:datasets", |
||||
"//benchmarks/datasets/google_message1/proto3:datasets", |
||||
"//benchmarks/datasets/google_message2:datasets", |
||||
"//benchmarks/datasets/google_message3:datasets", |
||||
"//benchmarks/datasets/google_message4:datasets", |
||||
], |
||||
visibility = [ |
||||
"//benchmarks:__subpackages__", |
||||
"//conformance:__subpackages__", |
||||
], |
||||
) |
||||
|
||||
filegroup( |
||||
name = "proto3_datasets", |
||||
srcs = [ |
||||
"//benchmarks/datasets/google_message1/proto2:proto3_datasets", |
||||
"//benchmarks/datasets/google_message1/proto3:datasets", |
||||
"//benchmarks/datasets/google_message2:proto3_datasets", |
||||
], |
||||
visibility = [ |
||||
"//benchmarks:__subpackages__", |
||||
"//conformance:__subpackages__", |
||||
"//csharp:__pkg__", |
||||
], |
||||
) |
||||
|
||||
proto_library( |
||||
name = "protos", |
||||
visibility = [ |
||||
"//benchmarks:__subpackages__", |
||||
], |
||||
deps = [ |
||||
"//benchmarks/datasets/google_message1/proto2:benchmark_message1_proto2_proto", |
||||
"//benchmarks/datasets/google_message1/proto3:benchmark_message1_proto3_proto", |
||||
"//benchmarks/datasets/google_message2:benchmark_message2_proto", |
||||
"//benchmarks/datasets/google_message3:benchmark_message3_proto", |
||||
"//benchmarks/datasets/google_message4:benchmark_message4_proto", |
||||
], |
||||
) |
||||
|
||||
cc_library( |
||||
name = "cc_protos", |
||||
visibility = [ |
||||
"//benchmarks:__subpackages__", |
||||
], |
||||
deps = [ |
||||
"//benchmarks/datasets/google_message1/proto2:benchmark_message1_proto2_cc_proto", |
||||
"//benchmarks/datasets/google_message1/proto3:benchmark_message1_proto3_cc_proto", |
||||
"//benchmarks/datasets/google_message2:benchmark_message2_cc_proto", |
||||
"//benchmarks/datasets/google_message3:benchmark_message3_cc_proto", |
||||
"//benchmarks/datasets/google_message4:benchmark_message4_cc_proto", |
||||
], |
||||
) |
||||
|
||||
java_library( |
||||
name = "java_protos", |
||||
visibility = [ |
||||
"//benchmarks:__subpackages__", |
||||
], |
||||
exports = [ |
||||
"//benchmarks/datasets/google_message1/proto2:benchmark_message1_proto2_java_proto", |
||||
"//benchmarks/datasets/google_message1/proto3:benchmark_message1_proto3_java_proto", |
||||
"//benchmarks/datasets/google_message2:benchmark_message2_java_proto", |
||||
"//benchmarks/datasets/google_message3:benchmark_message3_java_proto", |
||||
"//benchmarks/datasets/google_message4:benchmark_message4_java_proto", |
||||
], |
||||
) |
||||
|
||||
py_library( |
||||
name = "py_protos", |
||||
visibility = [ |
||||
"//benchmarks:__subpackages__", |
||||
], |
||||
deps = [ |
||||
"//benchmarks/datasets/google_message1/proto2:benchmark_message1_proto2_py_proto", |
||||
"//benchmarks/datasets/google_message1/proto3:benchmark_message1_proto3_py_proto", |
||||
"//benchmarks/datasets/google_message2:benchmark_message2_py_proto", |
||||
"//benchmarks/datasets/google_message3:benchmark_message3_py_proto", |
||||
"//benchmarks/datasets/google_message4:benchmark_message4_py_proto", |
||||
], |
||||
) |
||||
|
||||
filegroup( |
||||
name = "php_protos", |
||||
srcs = [ |
||||
"//benchmarks/datasets/google_message1/proto2:benchmark_message1_proto2_php_proto", |
||||
"//benchmarks/datasets/google_message1/proto3:benchmark_message1_proto3_php_proto", |
||||
"//benchmarks/datasets/google_message2:benchmark_message2_php_proto", |
||||
], |
||||
visibility = [ |
||||
"//benchmarks:__subpackages__", |
||||
], |
||||
) |
||||
|
||||
filegroup( |
||||
name = "csharp_protos", |
||||
srcs = [ |
||||
"//benchmarks/datasets/google_message1/proto2:benchmark_message1_proto2_csharp_proto", |
||||
"//benchmarks/datasets/google_message1/proto3:benchmark_message1_proto3_csharp_proto", |
||||
"//benchmarks/datasets/google_message2:benchmark_message2_csharp_proto", |
||||
"//benchmarks/datasets/google_message3:benchmark_message3_csharp_proto", |
||||
"//benchmarks/datasets/google_message4:benchmark_message4_csharp_proto", |
||||
], |
||||
visibility = [ |
||||
"//benchmarks:__subpackages__", |
||||
], |
||||
) |
||||
|
||||
pkg_files( |
||||
name = "dist_files", |
||||
srcs = ["BUILD.bazel"], |
||||
strip_prefix = strip_prefix.from_root(""), |
||||
visibility = ["//benchmarks:__pkg__"], |
||||
) |
@ -1,92 +0,0 @@ |
||||
load("@rules_cc//cc:defs.bzl", "cc_proto_library") |
||||
load("@rules_java//java:defs.bzl", "java_proto_library") |
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix") |
||||
load("@rules_proto//proto:defs.bzl", "proto_library") |
||||
load("//:protobuf.bzl", "internal_csharp_proto_library", "internal_py_proto_library") |
||||
load("//benchmarks/util:compatibility.bzl", "php_proto3_from_proto2_library", "proto3_from_proto2_data") |
||||
|
||||
filegroup( |
||||
name = "datasets", |
||||
srcs = [ |
||||
"dataset.google_message1_proto2.pb", |
||||
], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
proto3_from_proto2_data( |
||||
name = "proto3_datasets", |
||||
srcs = [ |
||||
"dataset.google_message1_proto2.pb", |
||||
], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
proto_library( |
||||
name = "benchmark_message1_proto2_proto", |
||||
srcs = [ |
||||
"benchmark_message1_proto2.proto", |
||||
], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
cc_proto_library( |
||||
name = "benchmark_message1_proto2_cc_proto", |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
deps = [ |
||||
"benchmark_message1_proto2_proto", |
||||
], |
||||
) |
||||
|
||||
internal_csharp_proto_library( |
||||
name = "benchmark_message1_proto2_csharp_proto", |
||||
srcs = ["benchmark_message1_proto2.proto"], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
java_proto_library( |
||||
name = "benchmark_message1_proto2_java_proto", |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
deps = [ |
||||
"benchmark_message1_proto2_proto", |
||||
], |
||||
) |
||||
|
||||
php_proto3_from_proto2_library( |
||||
name = "benchmark_message1_proto2_php_proto", |
||||
src = "benchmark_message1_proto2.proto", |
||||
outs = [ |
||||
"Benchmarks/Proto2/GoogleMessage1.php", |
||||
"Benchmarks/Proto2/GoogleMessage1SubMessage.php", |
||||
"GPBMetadata/BenchmarkMessage1Proto2.php", |
||||
], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
internal_py_proto_library( |
||||
name = "benchmark_message1_proto2_py_proto", |
||||
srcs = ["benchmark_message1_proto2.proto"], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
pkg_files( |
||||
name = "dist_files", |
||||
srcs = glob(["*"]), |
||||
strip_prefix = strip_prefix.from_root(""), |
||||
visibility = ["//benchmarks:__pkg__"], |
||||
) |
@ -1,108 +0,0 @@ |
||||
// Protocol Buffers - Google's data interchange format |
||||
// Copyright 2008 Google Inc. All rights reserved. |
||||
// https://developers.google.com/protocol-buffers/ |
||||
// |
||||
// Redistribution and use in source and binary forms, with or without |
||||
// modification, are permitted provided that the following conditions are |
||||
// met: |
||||
// |
||||
// * Redistributions of source code must retain the above copyright |
||||
// notice, this list of conditions and the following disclaimer. |
||||
// * Redistributions in binary form must reproduce the above |
||||
// copyright notice, this list of conditions and the following disclaimer |
||||
// in the documentation and/or other materials provided with the |
||||
// distribution. |
||||
// * Neither the name of Google Inc. nor the names of its |
||||
// contributors may be used to endorse or promote products derived from |
||||
// this software without specific prior written permission. |
||||
// |
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
// Benchmark messages for proto2. |
||||
|
||||
syntax = "proto2"; |
||||
|
||||
package benchmarks.proto2; |
||||
option java_package = "com.google.protobuf.benchmarks"; |
||||
|
||||
// This is the default, but we specify it here explicitly. |
||||
option optimize_for = SPEED; |
||||
|
||||
option cc_enable_arenas = true; |
||||
|
||||
message GoogleMessage1 { |
||||
required string field1 = 1; |
||||
optional string field9 = 9; |
||||
optional string field18 = 18; |
||||
optional bool field80 = 80 [default = false]; |
||||
optional bool field81 = 81 [default = true]; |
||||
required int32 field2 = 2; |
||||
required int32 field3 = 3; |
||||
optional int32 field280 = 280; |
||||
optional int32 field6 = 6 [default = 0]; |
||||
optional int64 field22 = 22; |
||||
optional string field4 = 4; |
||||
repeated fixed64 field5 = 5; |
||||
optional bool field59 = 59 [default = false]; |
||||
optional string field7 = 7; |
||||
optional int32 field16 = 16; |
||||
optional int32 field130 = 130 [default = 0]; |
||||
optional bool field12 = 12 [default = true]; |
||||
optional bool field17 = 17 [default = true]; |
||||
optional bool field13 = 13 [default = true]; |
||||
optional bool field14 = 14 [default = true]; |
||||
optional int32 field104 = 104 [default = 0]; |
||||
optional int32 field100 = 100 [default = 0]; |
||||
optional int32 field101 = 101 [default = 0]; |
||||
optional string field102 = 102; |
||||
optional string field103 = 103; |
||||
optional int32 field29 = 29 [default = 0]; |
||||
optional bool field30 = 30 [default = false]; |
||||
optional int32 field60 = 60 [default = -1]; |
||||
optional int32 field271 = 271 [default = -1]; |
||||
optional int32 field272 = 272 [default = -1]; |
||||
optional int32 field150 = 150; |
||||
optional int32 field23 = 23 [default = 0]; |
||||
optional bool field24 = 24 [default = false]; |
||||
optional int32 field25 = 25 [default = 0]; |
||||
optional GoogleMessage1SubMessage field15 = 15; |
||||
optional bool field78 = 78; |
||||
optional int32 field67 = 67 [default = 0]; |
||||
optional int32 field68 = 68; |
||||
optional int32 field128 = 128 [default = 0]; |
||||
optional string field129 = 129 [default = "xxxxxxxxxxxxxxxxxxxxx"]; |
||||
optional int32 field131 = 131 [default = 0]; |
||||
} |
||||
|
||||
message GoogleMessage1SubMessage { |
||||
optional int32 field1 = 1 [default = 0]; |
||||
optional int32 field2 = 2 [default = 0]; |
||||
optional int32 field3 = 3 [default = 0]; |
||||
optional string field15 = 15; |
||||
optional bool field12 = 12 [default = true]; |
||||
optional int64 field13 = 13; |
||||
optional int64 field14 = 14; |
||||
optional int32 field16 = 16; |
||||
optional int32 field19 = 19 [default = 2]; |
||||
optional bool field20 = 20 [default = true]; |
||||
optional bool field28 = 28 [default = true]; |
||||
optional fixed64 field21 = 21; |
||||
optional int32 field22 = 22; |
||||
optional bool field23 = 23 [default = false]; |
||||
optional bool field206 = 206 [default = false]; |
||||
optional fixed32 field203 = 203; |
||||
optional int32 field204 = 204; |
||||
optional string field205 = 205; |
||||
optional uint64 field207 = 207; |
||||
optional uint64 field300 = 300; |
||||
} |
Binary file not shown.
@ -1,81 +0,0 @@ |
||||
load("@rules_cc//cc:defs.bzl", "cc_proto_library") |
||||
load("@rules_java//java:defs.bzl", "java_proto_library") |
||||
load("@rules_proto//proto:defs.bzl", "proto_library") |
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix") |
||||
load("//:protobuf.bzl", "internal_csharp_proto_library", "internal_php_proto_library", "internal_py_proto_library") |
||||
|
||||
filegroup( |
||||
name = "datasets", |
||||
srcs = [ |
||||
"dataset.google_message1_proto3.pb", |
||||
], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
proto_library( |
||||
name = "benchmark_message1_proto3_proto", |
||||
srcs = [ |
||||
"benchmark_message1_proto3.proto", |
||||
], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
cc_proto_library( |
||||
name = "benchmark_message1_proto3_cc_proto", |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
deps = [ |
||||
"benchmark_message1_proto3_proto", |
||||
], |
||||
) |
||||
|
||||
internal_csharp_proto_library( |
||||
name = "benchmark_message1_proto3_csharp_proto", |
||||
srcs = ["benchmark_message1_proto3.proto"], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
java_proto_library( |
||||
name = "benchmark_message1_proto3_java_proto", |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
deps = [ |
||||
"benchmark_message1_proto3_proto", |
||||
], |
||||
) |
||||
|
||||
internal_php_proto_library( |
||||
name = "benchmark_message1_proto3_php_proto", |
||||
srcs = ["benchmark_message1_proto3.proto"], |
||||
outs = [ |
||||
"Benchmarks/Proto3/GoogleMessage1.php", |
||||
"Benchmarks/Proto3/GoogleMessage1SubMessage.php", |
||||
"GPBMetadata/BenchmarkMessage1Proto3.php", |
||||
], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
internal_py_proto_library( |
||||
name = "benchmark_message1_proto3_py_proto", |
||||
srcs = ["benchmark_message1_proto3.proto"], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
pkg_files( |
||||
name = "dist_files", |
||||
srcs = glob(["*"]), |
||||
strip_prefix = strip_prefix.from_root(""), |
||||
visibility = ["//benchmarks:__pkg__"], |
||||
) |
@ -1,108 +0,0 @@ |
||||
// Protocol Buffers - Google's data interchange format |
||||
// Copyright 2008 Google Inc. All rights reserved. |
||||
// https://developers.google.com/protocol-buffers/ |
||||
// |
||||
// Redistribution and use in source and binary forms, with or without |
||||
// modification, are permitted provided that the following conditions are |
||||
// met: |
||||
// |
||||
// * Redistributions of source code must retain the above copyright |
||||
// notice, this list of conditions and the following disclaimer. |
||||
// * Redistributions in binary form must reproduce the above |
||||
// copyright notice, this list of conditions and the following disclaimer |
||||
// in the documentation and/or other materials provided with the |
||||
// distribution. |
||||
// * Neither the name of Google Inc. nor the names of its |
||||
// contributors may be used to endorse or promote products derived from |
||||
// this software without specific prior written permission. |
||||
// |
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
// Benchmark messages for proto3. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package benchmarks.proto3; |
||||
option java_package = "com.google.protobuf.benchmarks"; |
||||
|
||||
// This is the default, but we specify it here explicitly. |
||||
option optimize_for = SPEED; |
||||
|
||||
option cc_enable_arenas = true; |
||||
|
||||
message GoogleMessage1 { |
||||
string field1 = 1; |
||||
string field9 = 9; |
||||
string field18 = 18; |
||||
bool field80 = 80; |
||||
bool field81 = 81; |
||||
int32 field2 = 2; |
||||
int32 field3 = 3; |
||||
int32 field280 = 280; |
||||
int32 field6 = 6; |
||||
int64 field22 = 22; |
||||
string field4 = 4; |
||||
repeated fixed64 field5 = 5; |
||||
bool field59 = 59; |
||||
string field7 = 7; |
||||
int32 field16 = 16; |
||||
int32 field130 = 130; |
||||
bool field12 = 12; |
||||
bool field17 = 17; |
||||
bool field13 = 13; |
||||
bool field14 = 14; |
||||
int32 field104 = 104; |
||||
int32 field100 = 100; |
||||
int32 field101 = 101; |
||||
string field102 = 102; |
||||
string field103 = 103; |
||||
int32 field29 = 29; |
||||
bool field30 = 30; |
||||
int32 field60 = 60; |
||||
int32 field271 = 271; |
||||
int32 field272 = 272; |
||||
int32 field150 = 150; |
||||
int32 field23 = 23; |
||||
bool field24 = 24; |
||||
int32 field25 = 25; |
||||
GoogleMessage1SubMessage field15 = 15; |
||||
bool field78 = 78; |
||||
int32 field67 = 67; |
||||
int32 field68 = 68; |
||||
int32 field128 = 128; |
||||
string field129 = 129; |
||||
int32 field131 = 131; |
||||
} |
||||
|
||||
message GoogleMessage1SubMessage { |
||||
int32 field1 = 1; |
||||
int32 field2 = 2; |
||||
int32 field3 = 3; |
||||
string field15 = 15; |
||||
bool field12 = 12; |
||||
int64 field13 = 13; |
||||
int64 field14 = 14; |
||||
int32 field16 = 16; |
||||
int32 field19 = 19; |
||||
bool field20 = 20; |
||||
bool field28 = 28; |
||||
fixed64 field21 = 21; |
||||
int32 field22 = 22; |
||||
bool field23 = 23; |
||||
bool field206 = 206; |
||||
fixed32 field203 = 203; |
||||
int32 field204 = 204; |
||||
string field205 = 205; |
||||
uint64 field207 = 207; |
||||
uint64 field300 = 300; |
||||
} |
Binary file not shown.
@ -1,92 +0,0 @@ |
||||
load("@rules_cc//cc:defs.bzl", "cc_proto_library") |
||||
load("@rules_java//java:defs.bzl", "java_proto_library") |
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix") |
||||
load("@rules_proto//proto:defs.bzl", "proto_library") |
||||
load("//:protobuf.bzl", "internal_csharp_proto_library", "internal_py_proto_library") |
||||
load("//benchmarks/util:compatibility.bzl", "php_proto3_from_proto2_library", "proto3_from_proto2_data") |
||||
|
||||
filegroup( |
||||
name = "datasets", |
||||
srcs = [ |
||||
"dataset.google_message2.pb", |
||||
], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
proto3_from_proto2_data( |
||||
name = "proto3_datasets", |
||||
srcs = [ |
||||
"dataset.google_message2.pb", |
||||
], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
proto_library( |
||||
name = "benchmark_message2_proto", |
||||
srcs = [ |
||||
"benchmark_message2.proto", |
||||
], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
cc_proto_library( |
||||
name = "benchmark_message2_cc_proto", |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
deps = [ |
||||
"benchmark_message2_proto", |
||||
], |
||||
) |
||||
|
||||
internal_csharp_proto_library( |
||||
name = "benchmark_message2_csharp_proto", |
||||
srcs = ["benchmark_message2.proto"], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
java_proto_library( |
||||
name = "benchmark_message2_java_proto", |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
deps = [ |
||||
"benchmark_message2_proto", |
||||
], |
||||
) |
||||
|
||||
php_proto3_from_proto2_library( |
||||
name = "benchmark_message2_php_proto", |
||||
src = "benchmark_message2.proto", |
||||
outs = [ |
||||
"Benchmarks/Proto2/GoogleMessage2.php", |
||||
"Benchmarks/Proto2/GoogleMessage2GroupedMessage.php", |
||||
"GPBMetadata/BenchmarkMessage2.php", |
||||
], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
internal_py_proto_library( |
||||
name = "benchmark_message2_py_proto", |
||||
srcs = ["benchmark_message2.proto"], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
pkg_files( |
||||
name = "dist_files", |
||||
srcs = glob(["*"]), |
||||
strip_prefix = strip_prefix.from_root(""), |
||||
visibility = ["//benchmarks:__pkg__"], |
||||
) |
@ -1,108 +0,0 @@ |
||||
// Protocol Buffers - Google's data interchange format |
||||
// Copyright 2008 Google Inc. All rights reserved. |
||||
// https://developers.google.com/protocol-buffers/ |
||||
// |
||||
// Redistribution and use in source and binary forms, with or without |
||||
// modification, are permitted provided that the following conditions are |
||||
// met: |
||||
// |
||||
// * Redistributions of source code must retain the above copyright |
||||
// notice, this list of conditions and the following disclaimer. |
||||
// * Redistributions in binary form must reproduce the above |
||||
// copyright notice, this list of conditions and the following disclaimer |
||||
// in the documentation and/or other materials provided with the |
||||
// distribution. |
||||
// * Neither the name of Google Inc. nor the names of its |
||||
// contributors may be used to endorse or promote products derived from |
||||
// this software without specific prior written permission. |
||||
// |
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
// LINT: ALLOW_GROUPS |
||||
|
||||
// Benchmark messages for proto2. |
||||
|
||||
syntax = "proto2"; |
||||
|
||||
package benchmarks.proto2; |
||||
option java_package = "com.google.protobuf.benchmarks"; |
||||
|
||||
// This is the default, but we specify it here explicitly. |
||||
option optimize_for = SPEED; |
||||
|
||||
option cc_enable_arenas = true; |
||||
|
||||
message GoogleMessage2 { |
||||
optional string field1 = 1; |
||||
optional int64 field3 = 3; |
||||
optional int64 field4 = 4; |
||||
optional int64 field30 = 30; |
||||
optional bool field75 = 75 [default = false]; |
||||
optional string field6 = 6; |
||||
optional bytes field2 = 2; |
||||
optional int32 field21 = 21 [default = 0]; |
||||
optional int32 field71 = 71; |
||||
optional float field25 = 25; |
||||
optional int32 field109 = 109 [default = 0]; |
||||
optional int32 field210 = 210 [default = 0]; |
||||
optional int32 field211 = 211 [default = 0]; |
||||
optional int32 field212 = 212 [default = 0]; |
||||
optional int32 field213 = 213 [default = 0]; |
||||
optional int32 field216 = 216 [default = 0]; |
||||
optional int32 field217 = 217 [default = 0]; |
||||
optional int32 field218 = 218 [default = 0]; |
||||
optional int32 field220 = 220 [default = 0]; |
||||
optional int32 field221 = 221 [default = 0]; |
||||
optional float field222 = 222 [default = 0.0]; |
||||
optional int32 field63 = 63; |
||||
|
||||
repeated group Group1 = 10 { |
||||
required float field11 = 11; |
||||
optional float field26 = 26; |
||||
optional string field12 = 12; |
||||
optional string field13 = 13; |
||||
repeated string field14 = 14; |
||||
required uint64 field15 = 15; |
||||
optional int32 field5 = 5; |
||||
optional string field27 = 27; |
||||
optional int32 field28 = 28; |
||||
optional string field29 = 29; |
||||
optional string field16 = 16; |
||||
repeated string field22 = 22; |
||||
repeated int32 field73 = 73; |
||||
optional int32 field20 = 20 [default = 0]; |
||||
optional string field24 = 24; |
||||
optional GoogleMessage2GroupedMessage field31 = 31; |
||||
} |
||||
repeated string field128 = 128; |
||||
optional int64 field131 = 131; |
||||
repeated string field127 = 127; |
||||
optional int32 field129 = 129; |
||||
repeated int64 field130 = 130; |
||||
optional bool field205 = 205 [default = false]; |
||||
optional bool field206 = 206 [default = false]; |
||||
} |
||||
|
||||
message GoogleMessage2GroupedMessage { |
||||
optional float field1 = 1; |
||||
optional float field2 = 2; |
||||
optional float field3 = 3 [default = 0.0]; |
||||
optional bool field4 = 4; |
||||
optional bool field5 = 5; |
||||
optional bool field6 = 6 [default = true]; |
||||
optional bool field7 = 7 [default = false]; |
||||
optional float field8 = 8; |
||||
optional bool field9 = 9; |
||||
optional float field10 = 10; |
||||
optional int64 field11 = 11; |
||||
} |
Binary file not shown.
@ -1,94 +0,0 @@ |
||||
load("@rules_cc//cc:defs.bzl", "cc_proto_library") |
||||
load("@rules_java//java:defs.bzl", "java_proto_library") |
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix") |
||||
load("@rules_proto//proto:defs.bzl", "proto_library") |
||||
load("//:protobuf.bzl", "internal_csharp_proto_library", "internal_py_proto_library") |
||||
|
||||
filegroup( |
||||
name = "datasets", |
||||
srcs = [], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
proto_library( |
||||
name = "benchmark_message3_proto", |
||||
srcs = [ |
||||
"benchmark_message3.proto", |
||||
"benchmark_message3_1.proto", |
||||
"benchmark_message3_2.proto", |
||||
"benchmark_message3_3.proto", |
||||
"benchmark_message3_4.proto", |
||||
"benchmark_message3_5.proto", |
||||
"benchmark_message3_6.proto", |
||||
"benchmark_message3_7.proto", |
||||
"benchmark_message3_8.proto", |
||||
], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
cc_proto_library( |
||||
name = "benchmark_message3_cc_proto", |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
deps = [ |
||||
"benchmark_message3_proto", |
||||
], |
||||
) |
||||
|
||||
internal_csharp_proto_library( |
||||
name = "benchmark_message3_csharp_proto", |
||||
srcs = [ |
||||
"benchmark_message3.proto", |
||||
"benchmark_message3_1.proto", |
||||
"benchmark_message3_2.proto", |
||||
"benchmark_message3_3.proto", |
||||
"benchmark_message3_4.proto", |
||||
"benchmark_message3_5.proto", |
||||
"benchmark_message3_6.proto", |
||||
"benchmark_message3_7.proto", |
||||
"benchmark_message3_8.proto", |
||||
], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
java_proto_library( |
||||
name = "benchmark_message3_java_proto", |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
deps = [ |
||||
"benchmark_message3_proto", |
||||
], |
||||
) |
||||
|
||||
internal_py_proto_library( |
||||
name = "benchmark_message3_py_proto", |
||||
srcs = [ |
||||
"benchmark_message3.proto", |
||||
"benchmark_message3_1.proto", |
||||
"benchmark_message3_2.proto", |
||||
"benchmark_message3_3.proto", |
||||
"benchmark_message3_4.proto", |
||||
"benchmark_message3_5.proto", |
||||
"benchmark_message3_6.proto", |
||||
"benchmark_message3_7.proto", |
||||
"benchmark_message3_8.proto", |
||||
], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
pkg_files( |
||||
name = "dist_files", |
||||
srcs = glob(["*"]), |
||||
strip_prefix = strip_prefix.from_root(""), |
||||
visibility = ["//benchmarks:__pkg__"], |
||||
) |
@ -1,566 +0,0 @@ |
||||
// Protocol Buffers - Google's data interchange format |
||||
// Copyright 2008 Google Inc. All rights reserved. |
||||
// https://developers.google.com/protocol-buffers/ |
||||
// |
||||
// Redistribution and use in source and binary forms, with or without |
||||
// modification, are permitted provided that the following conditions are |
||||
// met: |
||||
// |
||||
// * Redistributions of source code must retain the above copyright |
||||
// notice, this list of conditions and the following disclaimer. |
||||
// * Redistributions in binary form must reproduce the above |
||||
// copyright notice, this list of conditions and the following disclaimer |
||||
// in the documentation and/or other materials provided with the |
||||
// distribution. |
||||
// * Neither the name of Google Inc. nor the names of its |
||||
// contributors may be used to endorse or promote products derived from |
||||
// this software without specific prior written permission. |
||||
// |
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
// LINT: ALLOW_GROUPS |
||||
|
||||
syntax = "proto2"; |
||||
|
||||
package benchmarks.google_message3; |
||||
|
||||
import "benchmarks/datasets/google_message3/benchmark_message3_1.proto"; |
||||
import "benchmarks/datasets/google_message3/benchmark_message3_2.proto"; |
||||
import "benchmarks/datasets/google_message3/benchmark_message3_3.proto"; |
||||
import "benchmarks/datasets/google_message3/benchmark_message3_4.proto"; |
||||
import "benchmarks/datasets/google_message3/benchmark_message3_5.proto"; |
||||
import "benchmarks/datasets/google_message3/benchmark_message3_7.proto"; |
||||
import "benchmarks/datasets/google_message3/benchmark_message3_8.proto"; |
||||
|
||||
option cc_enable_arenas = true; |
||||
option java_package = "com.google.protobuf.benchmarks"; |
||||
|
||||
message GoogleMessage3 { |
||||
optional .benchmarks.google_message3.Message37487 field37519 = 2; |
||||
optional .benchmarks.google_message3.Message36876 field37520 = 3; |
||||
optional .benchmarks.google_message3.Message13062 field37521 = 4; |
||||
optional .benchmarks.google_message3.Message952 field37522 = 5; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field37523 = 6; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field37524 = 7; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field37525 = 8; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field37526 = 9; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field37527 = 10; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field37528 = 11; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field37529 = 12; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field37530 = 13; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field37531 = 14; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field37532 = 15; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field37533 = 16; |
||||
} |
||||
|
||||
message Message1327 { |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field1369 = 1; |
||||
repeated .benchmarks.google_message3.Message1328 field1370 = 3; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field1371 = 5; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field1372 = 6; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message1327 field1373 = 23104162; |
||||
} |
||||
} |
||||
|
||||
message Message3672 { |
||||
optional .benchmarks.google_message3.Enum3476 field3727 = 1; |
||||
optional int32 field3728 = 11; |
||||
optional int32 field3729 = 2; |
||||
repeated group Message3673 = 3 { |
||||
required .benchmarks.google_message3.Enum3476 field3738 = 4; |
||||
required int32 field3739 = 5; |
||||
} |
||||
repeated group Message3674 = 6 { |
||||
required .benchmarks.google_message3.Enum3476 field3740 = 7; |
||||
required int32 field3741 = 8; |
||||
} |
||||
optional bool field3732 = 9; |
||||
optional int32 field3733 = 10; |
||||
optional .benchmarks.google_message3.Enum3476 field3734 = 20; |
||||
optional int32 field3735 = 21; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field3736 = 50; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message3672 field3737 = 3144435; |
||||
} |
||||
} |
||||
|
||||
message Message3804 { |
||||
required int64 field3818 = 1; |
||||
required bool field3819 = 2; |
||||
repeated .benchmarks.google_message3.Enum3805 field3820 = 4; |
||||
optional int32 field3821 = 5; |
||||
optional bool field3822 = 6; |
||||
optional int64 field3823 = 7; |
||||
optional .benchmarks.google_message3.Enum3783 field3824 = 8; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message3804 field3825 = 59241828; |
||||
} |
||||
} |
||||
|
||||
message Message6849 { |
||||
repeated .benchmarks.google_message3.Message6850 field6910 = 1; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message6849 field6911 = 107558455; |
||||
} |
||||
} |
||||
|
||||
message Message6866 { |
||||
repeated .benchmarks.google_message3.Message6863 field6973 = 1; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message6866 field6974 = 22259060; |
||||
} |
||||
} |
||||
|
||||
message Message6870 { |
||||
repeated .benchmarks.google_message3.Message6871 field6991 = 1; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message6870 field6992 = 90034652; |
||||
} |
||||
} |
||||
|
||||
message Message7651 { |
||||
optional string field7685 = 1; |
||||
optional int64 field7686 = 2; |
||||
optional int64 field7687 = 3; |
||||
optional int64 field7688 = 4; |
||||
optional int32 field7689 = 5; |
||||
optional int32 field7690 = 6; |
||||
optional int32 field7691 = 7; |
||||
optional int32 field7692 = 8; |
||||
optional int32 field7693 = 9; |
||||
optional int32 field7694 = 10; |
||||
optional int32 field7695 = 11; |
||||
optional int32 field7696 = 12; |
||||
optional int32 field7697 = 13; |
||||
optional int32 field7698 = 14; |
||||
optional int32 field7699 = 15; |
||||
optional int32 field7700 = 16; |
||||
optional int32 field7701 = 17; |
||||
optional int32 field7702 = 18; |
||||
optional bool field7703 = 19; |
||||
repeated int32 field7704 = 20; |
||||
repeated int32 field7705 = 21; |
||||
repeated string field7706 = 22; |
||||
repeated string field7707 = 23; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field7708 = 24; |
||||
optional int32 field7709 = 25; |
||||
optional int32 field7710 = 26; |
||||
optional int32 field7711 = 27; |
||||
optional int32 field7712 = 43; |
||||
optional int32 field7713 = 28; |
||||
optional int32 field7714 = 29; |
||||
repeated .benchmarks.google_message3.Message7547 field7715 = 30; |
||||
repeated .benchmarks.google_message3.Message7547 field7716 = 31; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field7717 = 32; |
||||
repeated string field7718 = 33; |
||||
repeated string field7719 = 34; |
||||
repeated .benchmarks.google_message3.Message7648 field7720 = 35; |
||||
optional bool field7721 = 36; |
||||
optional bool field7722 = 37; |
||||
optional bool field7723 = 38; |
||||
optional bool field7724 = 39; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field7725 = 40; |
||||
optional .benchmarks.google_message3.UnusedEnum field7726 = 41; |
||||
optional .benchmarks.google_message3.Enum7654 field7727 = 42; |
||||
optional string field7728 = 44; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field7729 = 45; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message7651 field7730 = 55876009; |
||||
} |
||||
} |
||||
|
||||
message Message7864 { |
||||
optional string field7866 = 1; |
||||
optional string field7867 = 2; |
||||
repeated .benchmarks.google_message3.Message7865 field7868 = 5; |
||||
repeated .benchmarks.google_message3.Message7865 field7869 = 6; |
||||
repeated .benchmarks.google_message3.Message7865 field7870 = 7; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field7871 = 8; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message7864 field7872 = 44542730; |
||||
} |
||||
} |
||||
|
||||
message Message7929 { |
||||
optional int64 field7942 = 1; |
||||
optional int64 field7943 = 4; |
||||
optional int64 field7944 = 5; |
||||
optional int64 field7945 = 12; |
||||
optional int64 field7946 = 13; |
||||
optional int64 field7947 = 18; |
||||
optional int64 field7948 = 6; |
||||
optional int64 field7949 = 7; |
||||
repeated .benchmarks.google_message3.Message7919 field7950 = 8; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field7951 = 20; |
||||
repeated .benchmarks.google_message3.Message7920 field7952 = 14; |
||||
repeated .benchmarks.google_message3.Message7921 field7953 = 15; |
||||
repeated .benchmarks.google_message3.Message7928 field7954 = 17; |
||||
optional int64 field7955 = 19; |
||||
optional bool field7956 = 2; |
||||
optional int64 field7957 = 3; |
||||
optional int64 field7958 = 9; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field7959 = 10; |
||||
repeated bytes field7960 = 11; |
||||
optional int64 field7961 = 16; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message7929 field7962 = 53392238; |
||||
} |
||||
} |
||||
|
||||
message Message8508 { |
||||
repeated .benchmarks.google_message3.Message8511 field8517 = 8; |
||||
repeated .benchmarks.google_message3.Message8512 field8518 = 9; |
||||
repeated .benchmarks.google_message3.Message8513 field8519 = 11; |
||||
optional bool field8520 = 13; |
||||
optional .benchmarks.google_message3.Message8514 field8521 = 14; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field8522 = 15; |
||||
repeated .benchmarks.google_message3.Message8515 field8523 = 16; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field8524 = 17; |
||||
optional int64 field8525 = 1; |
||||
optional float field8526 = 2; |
||||
optional int64 field8527 = 3; |
||||
optional int64 field8528 = 4; |
||||
optional int32 field8529 = 5; |
||||
optional bytes field8530 = 6; |
||||
repeated bytes field8531 = 7; |
||||
optional bool field8532 = 10; |
||||
optional bytes field8533 = 12; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message8508 field8534 = 3811804; |
||||
} |
||||
} |
||||
|
||||
message Message9122 { |
||||
optional float field9132 = 1; |
||||
optional float field9133 = 2; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message9122 field9134 = 120398939; |
||||
} |
||||
} |
||||
|
||||
message Message10177 { |
||||
repeated .benchmarks.google_message3.Message10155 field10270 = 1; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message10177 field10271 = 26801105; |
||||
} |
||||
} |
||||
|
||||
message Message10278 { |
||||
repeated int32 field10286 = 1 [packed = true]; |
||||
repeated int32 field10287 = 2 [packed = true]; |
||||
optional int32 field10288 = 3; |
||||
extend .benchmarks.google_message3.Message10155 { |
||||
optional .benchmarks.google_message3.Message10278 field10289 = 29374161; |
||||
} |
||||
} |
||||
|
||||
message Message10323 { |
||||
repeated .benchmarks.google_message3.Message10320 field10360 = 1; |
||||
extend .benchmarks.google_message3.Message10155 { |
||||
optional .benchmarks.google_message3.Message10323 field10361 = 27922524; |
||||
} |
||||
} |
||||
|
||||
message Message10324 { |
||||
repeated .benchmarks.google_message3.Message10322 field10362 = 1; |
||||
optional .benchmarks.google_message3.Message10321 field10363 = 2; |
||||
extend .benchmarks.google_message3.Message10155 { |
||||
optional .benchmarks.google_message3.Message10324 field10364 = 27832297; |
||||
} |
||||
} |
||||
|
||||
message Message11990 { |
||||
repeated .benchmarks.google_message3.Message11988 field12030 = 1; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message11990 field12031 = 21265426; |
||||
} |
||||
} |
||||
|
||||
message Message12691 { |
||||
optional string field12713 = 1; |
||||
optional int32 field12714 = 2; |
||||
optional .benchmarks.google_message3.Message12668 field12715 = 3; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message12691 field12716 = 28426536; |
||||
} |
||||
} |
||||
|
||||
message Message12870 { |
||||
required int32 field12879 = 1; |
||||
optional int32 field12880 = 7; |
||||
required int32 field12881 = 2; |
||||
optional uint64 field12882 = 3; |
||||
optional string field12883 = 2001; |
||||
optional fixed64 field12884 = 4; |
||||
repeated fixed64 field12885 = 14; |
||||
optional int32 field12886 = 9; |
||||
optional int64 field12887 = 18; |
||||
repeated .benchmarks.google_message3.Message12870 field12888 = 8; |
||||
optional int32 field12889 = 5; |
||||
optional uint64 field12890 = 6; |
||||
optional int32 field12891 = 10; |
||||
optional int32 field12892 = 11; |
||||
optional double field12893 = 12; |
||||
optional .benchmarks.google_message3.Message12825 field12894 = 13; |
||||
optional double field12895 = 15; |
||||
optional string field12896 = 16; |
||||
optional .benchmarks.google_message3.Enum12871 field12897 = 17; |
||||
optional int32 field12898 = 19; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message12870 field12899 = 5447656; |
||||
} |
||||
} |
||||
|
||||
message Message13154 { |
||||
required float field13164 = 1; |
||||
required float field13165 = 2; |
||||
extend .benchmarks.google_message3.Message13145 { |
||||
optional .benchmarks.google_message3.Message13154 field13166 = 47301086; |
||||
} |
||||
} |
||||
|
||||
message Message16507 { |
||||
optional bool field16510 = 3; |
||||
optional bool field16511 = 4; |
||||
optional bool field16512 = 14; |
||||
repeated string field16513 = 5; |
||||
repeated string field16514 = 6; |
||||
optional string field16515 = 8; |
||||
repeated int32 field16516 = 9; |
||||
repeated int32 field16517 = 10; |
||||
optional int32 field16518 = 7; |
||||
optional string field16519 = 15; |
||||
repeated string field16520 = 11; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field16521 = 27; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field16522 = 22; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field16523 = 28; |
||||
optional string field16524 = 18; |
||||
optional int32 field16525 = 19; |
||||
optional int32 field16526 = 20; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field16527 = 23; |
||||
optional bool field16528 = 24; |
||||
repeated string field16529 = 25; |
||||
optional double field16530 = 26; |
||||
optional .benchmarks.google_message3.Message16478 field16531 = 30; |
||||
optional bool field16532 = 31; |
||||
optional string field16533 = 32; |
||||
optional bool field16534 = 33; |
||||
optional bool field16535 = 35; |
||||
optional bool field16536 = 36; |
||||
optional bool field16537 = 37; |
||||
optional bool field16538 = 38; |
||||
optional bool field16539 = 39; |
||||
optional bool field16540 = 40; |
||||
repeated string field16541 = 41; |
||||
extensions 21 to 21; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message16507 field16542 = 5569941; |
||||
} |
||||
} |
||||
|
||||
message Message16564 { |
||||
repeated .benchmarks.google_message3.Message16552 field16568 = 1; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message16564 field16569 = 25830030; |
||||
} |
||||
} |
||||
|
||||
message Message16661 { |
||||
repeated .benchmarks.google_message3.Message16660 field16671 = 1; |
||||
repeated uint64 field16672 = 2; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message16661 field16673 = 31274398; |
||||
} |
||||
} |
||||
|
||||
message Message16746 { |
||||
repeated .benchmarks.google_message3.Message16727 field16806 = 1; |
||||
optional bool field16807 = 2; |
||||
optional bool field16808 = 3; |
||||
repeated .benchmarks.google_message3.Message16725 field16809 = 4; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message16746 field16810 = 28406765; |
||||
} |
||||
} |
||||
|
||||
message Message17786 { |
||||
repeated group Message17787 = 1 { |
||||
required int32 field18177 = 2; |
||||
required int32 field18178 = 3; |
||||
optional .benchmarks.google_message3.Message17783 field18179 = 4; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18180 = 5; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18181 = 6; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field18182 = 8; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18183 = 9; |
||||
optional .benchmarks.google_message3.Message17726 field18184 = 10; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18185 = 11; |
||||
optional .benchmarks.google_message3.Message16945 field18186 = 102; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18187 = 12; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18188 = 13; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18189 = 7; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18190 = 100; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18191 = 101; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18192 = 14; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18193 = 19; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18194 = 22; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18195 = 24; |
||||
optional .benchmarks.google_message3.Enum16925 field18196 = 21; |
||||
optional bool field18197 = 18; |
||||
repeated .benchmarks.google_message3.UnusedEnum field18198 = 23; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18199 = 15; |
||||
optional string field18200 = 16; |
||||
optional string field18201 = 17; |
||||
optional bool field18202 = 99; |
||||
} |
||||
repeated .benchmarks.google_message3.Message17782 field18175 = 20; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message17786 field18176 = 11823055; |
||||
} |
||||
} |
||||
|
||||
message Message22857 { |
||||
repeated .benchmarks.google_message3.Message22853 field22874 = 1; |
||||
extend .benchmarks.google_message3.Message10155 { |
||||
optional .benchmarks.google_message3.Message22857 field22875 = 67799715; |
||||
} |
||||
} |
||||
|
||||
message Message24404 { |
||||
repeated group Message24405 = 1 { |
||||
required int32 field24686 = 2; |
||||
required int32 field24687 = 3; |
||||
optional .benchmarks.google_message3.Message24317 field24688 = 4; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field24689 = 5; |
||||
optional .benchmarks.google_message3.Message24376 field24690 = 6; |
||||
optional .benchmarks.google_message3.Message24345 field24691 = 7; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field24692 = 8; |
||||
optional .benchmarks.google_message3.Message24379 field24693 = 9; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field24694 = 10; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field24695 = 11; |
||||
optional .benchmarks.google_message3.Message24391 field24696 = 12; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field24697 = 13; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field24698 = 14; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field24699 = 22; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field24700 = 23; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field24701 = 25; |
||||
optional .benchmarks.google_message3.Enum16925 field24702 = 18; |
||||
optional float field24703 = 20; |
||||
optional bool field24704 = 19; |
||||
repeated .benchmarks.google_message3.Enum16891 field24705 = 24; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field24706 = 15; |
||||
optional string field24707 = 16; |
||||
optional string field24708 = 17; |
||||
optional float field24709 = 21; |
||||
optional bool field24710 = 26; |
||||
optional .benchmarks.google_message3.UnusedEnum field24711 = 27; |
||||
optional bool field24712 = 28; |
||||
optional .benchmarks.google_message3.UnusedEnum field24713 = 29; |
||||
optional bool field24714 = 31; |
||||
optional bool field24715 = 99; |
||||
optional int64 field24716 = 32; |
||||
} |
||||
optional .benchmarks.google_message3.Message24403 field24684 = 30; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message24404 field24685 = 9129287; |
||||
} |
||||
} |
||||
|
||||
message Message27300 { |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field27302 = 1; |
||||
optional string field27303 = 2; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message27300 field27304 = 24956467; |
||||
} |
||||
} |
||||
|
||||
message Message27453 { |
||||
optional string field27459 = 15; |
||||
repeated string field27460 = 1; |
||||
repeated float field27461 = 6; |
||||
repeated int32 field27462 = 27; |
||||
repeated int32 field27463 = 28; |
||||
repeated .benchmarks.google_message3.Message27454 field27464 = 24; |
||||
repeated string field27465 = 2; |
||||
repeated float field27466 = 7; |
||||
repeated string field27467 = 22; |
||||
repeated string field27468 = 23; |
||||
optional string field27469 = 26; |
||||
repeated .benchmarks.google_message3.Message27357 field27470 = 8; |
||||
optional .benchmarks.google_message3.Message27360 field27471 = 16; |
||||
optional string field27472 = 25; |
||||
optional string field27473 = 11; |
||||
optional bool field27474 = 13; |
||||
optional bool field27475 = 14; |
||||
optional bool field27476 = 17; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field27477 = 12; |
||||
optional bool field27478 = 34268945; |
||||
optional bool field27479 = 20; |
||||
optional string field27480 = 21; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field27481 = 10; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message27453 field27482 = 8086204; |
||||
} |
||||
} |
||||
|
||||
extend .benchmarks.google_message3.Message16945 { |
||||
optional string field17026 = 472; |
||||
repeated string field17027 = 818; |
||||
optional .benchmarks.google_message3.Message0 field17031 = 215; |
||||
repeated .benchmarks.google_message3.Message0 field17032 = 292; |
||||
repeated .benchmarks.google_message3.Message0 field17038 = 234; |
||||
repeated .benchmarks.google_message3.Message0 field17039 = 235; |
||||
optional .benchmarks.google_message3.Message0 field17042 = 246; |
||||
optional string field17043 = 224; |
||||
optional string field17044 = 225; |
||||
repeated string field17048 = 63; |
||||
repeated string field17049 = 64; |
||||
repeated .benchmarks.google_message3.Message0 field17052 = 233; |
||||
repeated .benchmarks.google_message3.Message0 field17053 = 66; |
||||
repeated string field17056 = 275; |
||||
optional string field17057 = 226; |
||||
repeated .benchmarks.google_message3.Message0 field17060 = 27; |
||||
repeated string field17073 = 75; |
||||
repeated .benchmarks.google_message3.Message0 field17076 = 77; |
||||
repeated string field17078 = 296; |
||||
repeated .benchmarks.google_message3.Message0 field17082 = 160; |
||||
repeated .benchmarks.google_message3.Message0 field17091 = 585; |
||||
repeated .benchmarks.google_message3.Message0 field17098 = 987; |
||||
repeated .benchmarks.google_message3.Message0 field17101 = 157; |
||||
repeated string field17102 = 158; |
||||
repeated string field17107 = 166; |
||||
repeated string field17133 = 567; |
||||
repeated string field17134 = 572; |
||||
repeated string field17160 = 49; |
||||
repeated string field17168 = 32; |
||||
repeated string field17170 = 34; |
||||
repeated .benchmarks.google_message3.Message0 field17172 = 509; |
||||
repeated string field17174 = 39; |
||||
repeated .benchmarks.google_message3.Message0 field17175 = 40; |
||||
repeated .benchmarks.google_message3.Message0 field17178 = 511; |
||||
repeated .benchmarks.google_message3.Message0 field17185 = 50; |
||||
repeated int32 field17207 = 1081; |
||||
repeated .benchmarks.google_message3.Message0 field17238 = 184; |
||||
repeated .benchmarks.google_message3.Message0 field17289 = 177; |
||||
repeated .benchmarks.google_message3.Message0 field17290 = 178; |
||||
repeated .benchmarks.google_message3.Message0 field17296 = 474; |
||||
repeated string field17298 = 44; |
||||
repeated .benchmarks.google_message3.Message0 field17301 = 47; |
||||
optional .benchmarks.google_message3.Message0 field17412 = 21; |
||||
repeated .benchmarks.google_message3.Message0 field17438 = 132; |
||||
repeated .benchmarks.google_message3.Message0 field17458 = 512; |
||||
repeated string field17460 = 560; |
||||
repeated string field17466 = 552; |
||||
repeated .benchmarks.google_message3.Message0 field17617 = 1080; |
||||
repeated int32 field17618 = 1084; |
||||
} |
File diff suppressed because it is too large
Load Diff
@ -1,528 +0,0 @@ |
||||
// Protocol Buffers - Google's data interchange format |
||||
// Copyright 2008 Google Inc. All rights reserved. |
||||
// https://developers.google.com/protocol-buffers/ |
||||
// |
||||
// Redistribution and use in source and binary forms, with or without |
||||
// modification, are permitted provided that the following conditions are |
||||
// met: |
||||
// |
||||
// * Redistributions of source code must retain the above copyright |
||||
// notice, this list of conditions and the following disclaimer. |
||||
// * Redistributions in binary form must reproduce the above |
||||
// copyright notice, this list of conditions and the following disclaimer |
||||
// in the documentation and/or other materials provided with the |
||||
// distribution. |
||||
// * Neither the name of Google Inc. nor the names of its |
||||
// contributors may be used to endorse or promote products derived from |
||||
// this software without specific prior written permission. |
||||
// |
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
// LINT: ALLOW_GROUPS |
||||
|
||||
syntax = "proto2"; |
||||
|
||||
package benchmarks.google_message3; |
||||
|
||||
import "benchmarks/datasets/google_message3/benchmark_message3_3.proto"; |
||||
import "benchmarks/datasets/google_message3/benchmark_message3_4.proto"; |
||||
import "benchmarks/datasets/google_message3/benchmark_message3_5.proto"; |
||||
import "benchmarks/datasets/google_message3/benchmark_message3_7.proto"; |
||||
import "benchmarks/datasets/google_message3/benchmark_message3_8.proto"; |
||||
|
||||
option cc_enable_arenas = true; |
||||
option java_package = "com.google.protobuf.benchmarks"; |
||||
|
||||
message Message22853 { |
||||
optional .benchmarks.google_message3.Enum22854 field22869 = 1; |
||||
repeated uint32 field22870 = 2 [packed = true]; |
||||
repeated float field22871 = 3 [packed = true]; |
||||
repeated float field22872 = 5 [packed = true]; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field22873 = 4; |
||||
} |
||||
|
||||
message Message24345 { |
||||
optional string field24533 = 1; |
||||
optional .benchmarks.google_message3.UnusedEnum field24534 = 22; |
||||
optional .benchmarks.google_message3.Message24346 field24535 = 2; |
||||
optional string field24536 = 3; |
||||
optional string field24537 = 4; |
||||
optional .benchmarks.google_message3.UnusedEnum field24538 = 23; |
||||
optional string field24539 = 5; |
||||
required string field24540 = 6; |
||||
optional string field24541 = 7; |
||||
optional string field24542 = 8; |
||||
optional .benchmarks.google_message3.Message24316 field24543 = 9; |
||||
optional .benchmarks.google_message3.Message24376 field24544 = 10; |
||||
optional string field24545 = 11; |
||||
optional string field24546 = 19; |
||||
optional string field24547 = 20; |
||||
optional string field24548 = 21; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field24549 = 12; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field24550 = 13; |
||||
repeated string field24551 = 14; |
||||
optional string field24552 = 15; |
||||
optional int32 field24553 = 18; |
||||
optional .benchmarks.google_message3.Message24379 field24554 = 16; |
||||
optional string field24555 = 17; |
||||
repeated .benchmarks.google_message3.Message24356 field24556 = 24; |
||||
repeated .benchmarks.google_message3.Message24366 field24557 = 25; |
||||
} |
||||
|
||||
message Message24403 { |
||||
optional .benchmarks.google_message3.Message24401 field24681 = 1; |
||||
optional .benchmarks.google_message3.Message24402 field24682 = 2; |
||||
} |
||||
|
||||
message Message24391 { |
||||
optional string field24631 = 1; |
||||
optional string field24632 = 2; |
||||
repeated string field24633 = 3; |
||||
optional string field24634 = 4; |
||||
repeated string field24635 = 5; |
||||
repeated string field24636 = 16; |
||||
optional string field24637 = 17; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field24638 = 25; |
||||
optional string field24639 = 7; |
||||
optional string field24640 = 18; |
||||
optional string field24641 = 19; |
||||
optional string field24642 = 20; |
||||
optional int32 field24643 = 24; |
||||
optional .benchmarks.google_message3.Message24379 field24644 = 8; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field24645 = 9; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field24646 = 10; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field24647 = 11; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field24648 = 12; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field24649 = 13; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field24650 = 14; |
||||
optional string field24651 = 21; |
||||
optional int32 field24652 = 22; |
||||
optional int32 field24653 = 23; |
||||
repeated string field24654 = 15; |
||||
repeated string field24655 = 6; |
||||
} |
||||
|
||||
message Message27454 {} |
||||
|
||||
message Message27357 { |
||||
optional string field27410 = 1; |
||||
optional float field27411 = 2; |
||||
optional string field27412 = 3; |
||||
optional bool field27413 = 4; |
||||
optional bool field27414 = 5; |
||||
} |
||||
|
||||
message Message27360 { |
||||
optional .benchmarks.google_message3.Message27358 field27426 = 1; |
||||
optional .benchmarks.google_message3.Enum27361 field27427 = 2; |
||||
optional .benchmarks.google_message3.Message27358 field27428 = 3; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field27429 = 4; |
||||
} |
||||
|
||||
message Message34387 { |
||||
optional string field34446 = 1; |
||||
repeated .benchmarks.google_message3.Message34381 field34447 = 2; |
||||
optional .benchmarks.google_message3.UnusedEnum field34448 = 3; |
||||
optional .benchmarks.google_message3.Enum34388 field34449 = 4; |
||||
optional int64 field34450 = 5; |
||||
} |
||||
|
||||
message Message34621 { |
||||
optional double field34651 = 1; |
||||
optional double field34652 = 2; |
||||
optional double field34653 = 3; |
||||
optional double field34654 = 4; |
||||
optional double field34655 = 11; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field34656 = 13; |
||||
optional .benchmarks.google_message3.Message34619 field34657 = 14; |
||||
optional string field34658 = 5; |
||||
optional string field34659 = 9; |
||||
optional double field34660 = 12; |
||||
optional bytes field34661 = 19; |
||||
optional string field34662 = 15; |
||||
optional string field34663 = 16; |
||||
optional string field34664 = 17; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field34665 = 18; |
||||
optional .benchmarks.google_message3.Message34621 field34666 = 20; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field34667 = 100; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field34668 = 101; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message34621 field34669 = 17562023; |
||||
} |
||||
} |
||||
|
||||
message Message35476 { |
||||
optional string field35484 = 1; |
||||
optional string field35485 = 2; |
||||
optional string field35486 = 3; |
||||
optional .benchmarks.google_message3.Enum35477 field35487 = 4; |
||||
optional float field35488 = 5; |
||||
optional float field35489 = 6; |
||||
optional float field35490 = 7; |
||||
optional float field35491 = 8; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field35492 = 9; |
||||
optional int32 field35493 = 10; |
||||
optional int32 field35494 = 11; |
||||
optional int32 field35495 = 12; |
||||
optional string field35496 = 13; |
||||
optional string field35497 = 14; |
||||
} |
||||
|
||||
message Message949 { |
||||
optional string field955 = 1; |
||||
optional int64 field956 = 2; |
||||
optional int64 field957 = 3; |
||||
optional .benchmarks.google_message3.Message730 field958 = 4; |
||||
repeated string field959 = 5; |
||||
optional string field960 = 6; |
||||
optional bool field961 = 7; |
||||
} |
||||
|
||||
message Message36869 { |
||||
optional int32 field36970 = 1; |
||||
optional int32 field36971 = 2; |
||||
} |
||||
|
||||
message Message33968 { |
||||
repeated group Message33969 = 1 {} |
||||
repeated .benchmarks.google_message3.Message33958 field33989 = 3; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field33990 = 106; |
||||
optional bool field33991 = 108; |
||||
optional .benchmarks.google_message3.UnusedEnum field33992 = 107; |
||||
} |
||||
|
||||
message Message6644 { |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field6701 = 8; |
||||
optional string field6702 = 1; |
||||
optional double field6703 = 2; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field6704 = 9; |
||||
optional bytes field6705 = 3; |
||||
optional bytes field6706 = 19; |
||||
optional .benchmarks.google_message3.Message6637 field6707 = 4; |
||||
repeated .benchmarks.google_message3.Message6126 field6708 = 18; |
||||
optional bool field6709 = 6; |
||||
optional .benchmarks.google_message3.Message6643 field6710 = 10; |
||||
optional string field6711 = 12; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field6712 = 14; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field6713 = 15; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field6714 = 16; |
||||
optional int32 field6715 = 17; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field6716 = 20; |
||||
} |
||||
|
||||
message Message18831 { |
||||
repeated group Message18832 = 1 { |
||||
optional int32 field18836 = 2; |
||||
optional string field18837 = 5; |
||||
optional float field18838 = 3; |
||||
optional float field18839 = 9; |
||||
optional int32 field18840 = 11; |
||||
repeated uint64 field18841 = 4; |
||||
repeated group Message18833 = 6 { |
||||
required uint64 field18843 = 7; |
||||
optional string field18844 = 8; |
||||
optional float field18845 = 10; |
||||
optional int32 field18846 = 12; |
||||
optional bool field18847 = 13; |
||||
} |
||||
} |
||||
} |
||||
|
||||
message Message13090 { |
||||
optional .benchmarks.google_message3.Message13083 field13141 = 1; |
||||
optional .benchmarks.google_message3.Message13088 field13142 = 2; |
||||
} |
||||
|
||||
message Message11874 { |
||||
optional .benchmarks.google_message3.Message10391 field11888 = 3; |
||||
optional string field11889 = 4; |
||||
optional .benchmarks.google_message3.Message11873 field11890 = 6; |
||||
optional bool field11891 = 7; |
||||
extensions 1 to 1; |
||||
extensions 2 to 2; |
||||
extensions 5 to 5; |
||||
} |
||||
|
||||
message Message4144 { |
||||
repeated group Message4145 = 1 { |
||||
required .benchmarks.google_message3.Enum4146 field4165 = 2; |
||||
required int32 field4166 = 3; |
||||
optional .benchmarks.google_message3.Enum4160 field4167 = 9; |
||||
optional bytes field4168 = 4; |
||||
optional .benchmarks.google_message3.Enum4152 field4169 = 5; |
||||
optional string field4170 = 6; |
||||
} |
||||
} |
||||
|
||||
message Message35573 { |
||||
optional fixed64 field35695 = 16; |
||||
optional string field35696 = 1000; |
||||
optional string field35697 = 1004; |
||||
optional int32 field35698 = 1003; |
||||
repeated group Message35574 = 1012 {} |
||||
optional int64 field35700 = 1011; |
||||
optional int64 field35701 = 1005; |
||||
optional int64 field35702 = 1006; |
||||
optional int64 field35703 = 1007; |
||||
optional int64 field35704 = 1008; |
||||
repeated group Message35575 = 1 { |
||||
optional int64 field35709 = 2; |
||||
optional string field35710 = 3; |
||||
optional string field35711 = 19; |
||||
optional int32 field35712 = 20; |
||||
optional int32 field35713 = 21; |
||||
optional int32 field35714 = 22; |
||||
optional bool field35715 = 23; |
||||
optional int32 field35716 = 47; |
||||
optional int32 field35717 = 48; |
||||
optional bool field35718 = 24; |
||||
optional fixed64 field35719 = 25; |
||||
optional bytes field35720 = 52; |
||||
optional int32 field35721 = 18; |
||||
optional fixed32 field35722 = 43; |
||||
optional bool field35723 = 26; |
||||
optional int32 field35724 = 27; |
||||
optional int32 field35725 = 17; |
||||
optional bool field35726 = 45; |
||||
repeated int32 field35727 = 33; |
||||
repeated int32 field35728 = 58; |
||||
optional float field35729 = 34; |
||||
optional float field35730 = 1009; |
||||
optional int32 field35731 = 28; |
||||
repeated fixed64 field35732 = 1001; |
||||
repeated fixed64 field35733 = 1002; |
||||
optional int32 field35734 = 44; |
||||
optional int32 field35735 = 50; |
||||
optional int32 field35736 = 36; |
||||
optional int32 field35737 = 40; |
||||
optional bool field35738 = 1016; |
||||
optional bool field35739 = 1010; |
||||
optional int32 field35740 = 37; |
||||
optional int32 field35741 = 38; |
||||
optional string field35742 = 46; |
||||
optional uint32 field35743 = 60; |
||||
repeated bytes field35744 = 56; |
||||
optional .benchmarks.google_message3.Message0 field35745 = 57; |
||||
required group Message35576 = 4 { |
||||
optional fixed64 field35747 = 5; |
||||
optional int32 field35748 = 6; |
||||
optional int32 field35749 = 49; |
||||
optional int32 field35750 = 7; |
||||
optional uint32 field35751 = 59; |
||||
optional int32 field35752 = 14; |
||||
optional int32 field35753 = 15; |
||||
optional int32 field35754 = 35; |
||||
optional bytes field35755 = 53; |
||||
optional int32 field35756 = 8; |
||||
optional string field35757 = 9; |
||||
optional fixed64 field35758 = 10; |
||||
optional int32 field35759 = 11; |
||||
optional int32 field35760 = 12; |
||||
optional int32 field35761 = 41; |
||||
optional int32 field35762 = 30; |
||||
optional int32 field35763 = 31; |
||||
optional int32 field35764 = 13; |
||||
optional bytes field35765 = 39; |
||||
optional string field35766 = 29; |
||||
optional int32 field35767 = 42; |
||||
repeated int32 field35768 = 32; |
||||
repeated int32 field35769 = 51; |
||||
optional int64 field35770 = 54; |
||||
optional .benchmarks.google_message3.Message0 field35771 = 55; |
||||
} |
||||
} |
||||
} |
||||
|
||||
message Message36858 { |
||||
repeated int32 field36956 = 1; |
||||
repeated string field36957 = 2; |
||||
repeated string field36958 = 12; |
||||
optional int32 field36959 = 3; |
||||
optional int32 field36960 = 4; |
||||
optional int32 field36961 = 14; |
||||
optional string field36962 = 11; |
||||
optional bool field36963 = 5; |
||||
optional bool field36964 = 13; |
||||
optional int64 field36965 = 6; |
||||
optional .benchmarks.google_message3.Message35506 field36966 = 7; |
||||
repeated group Message36859 = 8 { |
||||
required .benchmarks.google_message3.Enum36860 field36968 = 9; |
||||
optional float field36969 = 10; |
||||
} |
||||
} |
||||
|
||||
message Message13174 { |
||||
required int32 field13237 = 6; |
||||
optional int32 field13238 = 3; |
||||
required int32 field13239 = 4; |
||||
optional int32 field13240 = 8; |
||||
optional double field13241 = 5; |
||||
optional double field13242 = 7; |
||||
optional int32 field13243 = 17; |
||||
optional int32 field13244 = 19; |
||||
optional double field13245 = 20; |
||||
optional int32 field13246 = 9; |
||||
optional double field13247 = 10; |
||||
optional int32 field13248 = 11; |
||||
optional .benchmarks.google_message3.Message13151 field13249 = 21; |
||||
optional int32 field13250 = 1; |
||||
optional double field13251 = 2; |
||||
optional double field13252 = 15; |
||||
optional double field13253 = 16; |
||||
optional double field13254 = 12; |
||||
optional double field13255 = 13; |
||||
optional double field13256 = 14; |
||||
optional int32 field13257 = 18; |
||||
} |
||||
|
||||
message Message18283 { |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18478 = 1; |
||||
optional int32 field18479 = 4; |
||||
optional int32 field18480 = 106; |
||||
optional int32 field18481 = 107; |
||||
optional int32 field18482 = 108; |
||||
optional int32 field18483 = 109; |
||||
optional int32 field18484 = 105; |
||||
optional int32 field18485 = 113; |
||||
optional int32 field18486 = 114; |
||||
optional int32 field18487 = 124; |
||||
optional int32 field18488 = 125; |
||||
optional int32 field18489 = 128; |
||||
optional int32 field18490 = 135; |
||||
optional bool field18491 = 166; |
||||
optional bool field18492 = 136; |
||||
optional int32 field18493 = 140; |
||||
optional int32 field18494 = 171; |
||||
optional int32 field18495 = 148; |
||||
optional int32 field18496 = 145; |
||||
optional float field18497 = 117; |
||||
optional int32 field18498 = 146; |
||||
optional string field18499 = 3; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18500 = 5; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18501 = 6; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18502 = 9; |
||||
optional .benchmarks.google_message3.Message18253 field18503 = 155; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18504 = 184; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18505 = 163; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18506 = 16; |
||||
repeated int32 field18507 = 20; |
||||
repeated int32 field18508 = 7; |
||||
repeated string field18509 = 194; |
||||
optional bytes field18510 = 30; |
||||
optional int32 field18511 = 31; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18512 = 178; |
||||
optional string field18513 = 8; |
||||
optional float field18514 = 2; |
||||
optional float field18515 = 100; |
||||
optional float field18516 = 101; |
||||
optional float field18517 = 102; |
||||
optional int32 field18518 = 103; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field18519 = 104; |
||||
optional int32 field18520 = 110; |
||||
optional int32 field18521 = 112; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18522 = 111; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18523 = 115; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18524 = 119; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18525 = 127; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18526 = 185; |
||||
optional int32 field18527 = 120; |
||||
optional int32 field18528 = 132; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18529 = 126; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18530 = 129; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18531 = 131; |
||||
optional fixed64 field18532 = 150; |
||||
optional int32 field18533 = 133; |
||||
optional int32 field18534 = 134; |
||||
optional int32 field18535 = 139; |
||||
optional fixed64 field18536 = 137; |
||||
optional fixed64 field18537 = 138; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18538 = 141; |
||||
optional int32 field18539 = 142; |
||||
optional int32 field18540 = 181; |
||||
optional .benchmarks.google_message3.Message16816 field18541 = 143; |
||||
optional .benchmarks.google_message3.Message16685 field18542 = 154; |
||||
optional int32 field18543 = 144; |
||||
optional int64 field18544 = 147; |
||||
optional int64 field18545 = 149; |
||||
optional int32 field18546 = 151; |
||||
optional int32 field18547 = 152; |
||||
optional int32 field18548 = 153; |
||||
optional float field18549 = 161; |
||||
optional .benchmarks.google_message3.Message0 field18550 = 123; |
||||
repeated int64 field18551 = 156; |
||||
optional int32 field18552 = 157; |
||||
repeated fixed64 field18553 = 188; |
||||
optional int32 field18554 = 158; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18555 = 159; |
||||
optional bool field18556 = 160; |
||||
optional uint64 field18557 = 162; |
||||
optional int32 field18558 = 164; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18559 = 10; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18560 = 167; |
||||
optional int32 field18561 = 168; |
||||
repeated fixed64 field18562 = 169; |
||||
repeated string field18563 = 170; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18564 = 172; |
||||
optional int64 field18565 = 173; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18566 = 174; |
||||
optional int64 field18567 = 175; |
||||
optional uint32 field18568 = 189; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18569 = 176; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18570 = 177; |
||||
optional uint32 field18571 = 179; |
||||
optional uint32 field18572 = 180; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18573 = 182; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18574 = 183; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18575 = 121; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18576 = 186; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18577 = 187; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18578 = 190; |
||||
optional int32 field18579 = 191; |
||||
optional float field18580 = 192; |
||||
optional bool field18581 = 193; |
||||
extensions 116 to 116; |
||||
extensions 118 to 118; |
||||
extensions 130 to 130; |
||||
extensions 165 to 165; |
||||
} |
||||
|
||||
message Message13169 { |
||||
repeated .benchmarks.google_message3.Message13168 field13223 = 1; |
||||
required .benchmarks.google_message3.Message13167 field13224 = 2; |
||||
optional string field13225 = 3; |
||||
} |
||||
|
||||
message Message19255 { |
||||
optional string field19257 = 1; |
||||
} |
||||
|
||||
message Message35542 { |
||||
optional bool field35543 = 1; |
||||
optional bool field35544 = 2; |
||||
optional bool field35545 = 3; |
||||
} |
||||
|
||||
message Message3901 { |
||||
optional int32 field3990 = 1; |
||||
optional int32 field3991 = 2; |
||||
optional int32 field3992 = 3; |
||||
optional int32 field3993 = 4; |
||||
optional int32 field3994 = 7; |
||||
optional int32 field3995 = 8; |
||||
optional int32 field3996 = 9; |
||||
optional int32 field3997 = 10; |
||||
optional int32 field3998 = 11; |
||||
optional int32 field3999 = 12; |
||||
optional .benchmarks.google_message3.UnusedEnum field4000 = 6; |
||||
optional int32 field4001 = 5; |
||||
} |
@ -1,496 +0,0 @@ |
||||
// Protocol Buffers - Google's data interchange format |
||||
// Copyright 2008 Google Inc. All rights reserved. |
||||
// https://developers.google.com/protocol-buffers/ |
||||
// |
||||
// Redistribution and use in source and binary forms, with or without |
||||
// modification, are permitted provided that the following conditions are |
||||
// met: |
||||
// |
||||
// * Redistributions of source code must retain the above copyright |
||||
// notice, this list of conditions and the following disclaimer. |
||||
// * Redistributions in binary form must reproduce the above |
||||
// copyright notice, this list of conditions and the following disclaimer |
||||
// in the documentation and/or other materials provided with the |
||||
// distribution. |
||||
// * Neither the name of Google Inc. nor the names of its |
||||
// contributors may be used to endorse or promote products derived from |
||||
// this software without specific prior written permission. |
||||
// |
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
// LINT: ALLOW_GROUPS |
||||
|
||||
syntax = "proto2"; |
||||
|
||||
package benchmarks.google_message3; |
||||
|
||||
import "benchmarks/datasets/google_message3/benchmark_message3_4.proto"; |
||||
import "benchmarks/datasets/google_message3/benchmark_message3_5.proto"; |
||||
import "benchmarks/datasets/google_message3/benchmark_message3_7.proto"; |
||||
import "benchmarks/datasets/google_message3/benchmark_message3_8.proto"; |
||||
|
||||
option cc_enable_arenas = true; |
||||
option java_package = "com.google.protobuf.benchmarks"; |
||||
|
||||
message Message35546 { |
||||
optional int64 field35556 = 1; |
||||
optional int32 field35557 = 2; |
||||
optional bool field35558 = 3; |
||||
optional int64 field35559 = 13; |
||||
optional group Message35547 = 4 { |
||||
required int32 field35569 = 5; |
||||
required int32 field35570 = 6; |
||||
} |
||||
optional group Message35548 = 10 { |
||||
required int64 field35571 = 11; |
||||
required int64 field35572 = 12; |
||||
} |
||||
optional bool field35562 = 14; |
||||
optional bool field35563 = 15; |
||||
optional int32 field35564 = 16; |
||||
optional bool field35565 = 17; |
||||
optional bool field35566 = 18; |
||||
optional string field35567 = 100; |
||||
} |
||||
|
||||
message Message2356 { |
||||
optional .benchmarks.google_message3.Message1374 field2368 = 121; |
||||
optional uint64 field2369 = 1; |
||||
optional int32 field2370 = 2; |
||||
optional int32 field2371 = 17; |
||||
required string field2372 = 3; |
||||
optional int32 field2373 = 7; |
||||
optional bytes field2374 = 8; |
||||
optional string field2375 = 4; |
||||
optional string field2376 = 101; |
||||
optional int32 field2377 = 102; |
||||
optional int32 field2378 = 103; |
||||
optional int32 field2379 = 104; |
||||
optional int32 field2380 = 113; |
||||
optional int32 field2381 = 114; |
||||
optional int32 field2382 = 115; |
||||
optional int32 field2383 = 117; |
||||
optional int32 field2384 = 118; |
||||
optional int32 field2385 = 119; |
||||
optional int32 field2386 = 105; |
||||
optional bytes field2387 = 5; |
||||
optional group Message2357 = 6 { |
||||
optional int64 field2399 = 9; |
||||
optional int32 field2400 = 10; |
||||
optional int32 field2401 = 11; |
||||
optional int32 field2402 = 12; |
||||
optional int32 field2403 = 13; |
||||
optional int32 field2404 = 116; |
||||
optional int32 field2405 = 106; |
||||
required bytes field2406 = 14; |
||||
optional int32 field2407 = 45; |
||||
optional int32 field2408 = 112; |
||||
optional bool field2409 = 122; |
||||
optional bytes field2410 = 124; |
||||
} |
||||
optional string field2389 = 120; |
||||
optional group Message2358 = 107 {} |
||||
repeated group Message2359 = 40 { |
||||
optional string field2413 = 41; |
||||
optional string field2414 = 42; |
||||
optional string field2415 = 43; |
||||
optional string field2416 = 44; |
||||
optional int32 field2417 = 46; |
||||
optional string field2418 = 47; |
||||
optional float field2419 = 110; |
||||
optional float field2420 = 111; |
||||
} |
||||
optional int32 field2392 = 50; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field2393 = 60; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field2394 = 70; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field2395 = 80; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field2396 = 90; |
||||
optional string field2397 = 100; |
||||
optional string field2398 = 123; |
||||
} |
||||
|
||||
message Message7029 { |
||||
required int32 field7183 = 1; |
||||
optional int32 field7184 = 2; |
||||
optional int32 field7185 = 3; |
||||
optional int32 field7186 = 4; |
||||
optional int32 field7187 = 5; |
||||
optional int32 field7188 = 6; |
||||
optional int32 field7189 = 17; |
||||
optional int32 field7190 = 18; |
||||
optional int32 field7191 = 49; |
||||
optional int32 field7192 = 28; |
||||
optional int32 field7193 = 33; |
||||
optional int32 field7194 = 25; |
||||
optional int32 field7195 = 26; |
||||
optional int32 field7196 = 40; |
||||
optional int32 field7197 = 41; |
||||
optional int32 field7198 = 42; |
||||
optional int32 field7199 = 43; |
||||
optional int32 field7200 = 19; |
||||
optional int32 field7201 = 7; |
||||
optional int32 field7202 = 8; |
||||
optional int32 field7203 = 9; |
||||
optional int32 field7204 = 10; |
||||
optional int32 field7205 = 11; |
||||
optional int32 field7206 = 12; |
||||
repeated group Message7030 = 13 { |
||||
optional string field7226 = 14; |
||||
optional string field7227 = 15; |
||||
optional int64 field7228 = 16; |
||||
} |
||||
repeated group Message7031 = 21 { |
||||
optional string field7229 = 22; |
||||
optional int32 field7230 = 23; |
||||
optional int32 field7231 = 24; |
||||
optional int32 field7232 = 30; |
||||
optional int32 field7233 = 31; |
||||
optional int32 field7234 = 35; |
||||
} |
||||
optional int32 field7209 = 20; |
||||
optional float field7210 = 27; |
||||
optional int32 field7211 = 29; |
||||
optional int32 field7212 = 32; |
||||
optional string field7213 = 48; |
||||
optional bool field7214 = 34; |
||||
optional int32 field7215 = 36; |
||||
optional float field7216 = 37; |
||||
optional bool field7217 = 38; |
||||
optional bool field7218 = 39; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field7219 = 44; |
||||
optional int32 field7220 = 45; |
||||
optional int32 field7221 = 46; |
||||
optional int32 field7222 = 47; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field7223 = 50; |
||||
optional int32 field7224 = 51; |
||||
} |
||||
|
||||
message Message35538 { |
||||
required int64 field35539 = 1; |
||||
} |
||||
|
||||
message Message18921 { |
||||
optional string field18946 = 1; |
||||
optional fixed64 field18947 = 2; |
||||
optional int32 field18948 = 3; |
||||
optional double field18949 = 4; |
||||
optional bool field18950 = 17; |
||||
optional bool field18951 = 23; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18952 = 24; |
||||
repeated group Message18922 = 5 { |
||||
optional uint64 field18959 = 6; |
||||
optional string field18960 = 13; |
||||
optional bool field18961 = 21; |
||||
optional bool field18962 = 33; |
||||
optional int32 field18963 = 7; |
||||
optional int32 field18964 = 8; |
||||
optional string field18965 = 9; |
||||
optional .benchmarks.google_message3.Message18856 field18966 = 10; |
||||
optional uint64 field18967 = 34; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18968 = 11; |
||||
optional uint64 field18969 = 35; |
||||
optional float field18970 = 12; |
||||
repeated string field18971 = 14; |
||||
optional bool field18972 = 15; |
||||
optional bool field18973 = 16; |
||||
optional float field18974 = 22; |
||||
optional int32 field18975 = 18; |
||||
optional int32 field18976 = 19; |
||||
optional int32 field18977 = 20; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field18978 = 25; |
||||
optional .benchmarks.google_message3.UnusedEnum field18979 = 26; |
||||
repeated string field18980 = 27; |
||||
optional float field18981 = 28; |
||||
} |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field18954 = 29; |
||||
repeated .benchmarks.google_message3.Message18943 field18955 = 30; |
||||
repeated .benchmarks.google_message3.Message18944 field18956 = 31; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field18957 = 32; |
||||
} |
||||
|
||||
message Message35540 { |
||||
optional bool field35541 = 1; |
||||
} |
||||
|
||||
message Message3886 { |
||||
repeated group Message3887 = 1 { |
||||
required string field3932 = 2; |
||||
optional string field3933 = 9; |
||||
optional .benchmarks.google_message3.Message3850 field3934 = 3; |
||||
optional bytes field3935 = 8; |
||||
} |
||||
} |
||||
|
||||
message Message6743 { |
||||
optional .benchmarks.google_message3.Message6721 field6759 = 1; |
||||
optional .benchmarks.google_message3.Message6723 field6760 = 2; |
||||
optional .benchmarks.google_message3.Message6723 field6761 = 8; |
||||
optional .benchmarks.google_message3.Message6725 field6762 = 3; |
||||
optional .benchmarks.google_message3.Message6726 field6763 = 4; |
||||
optional .benchmarks.google_message3.Message6733 field6764 = 5; |
||||
optional .benchmarks.google_message3.Message6734 field6765 = 6; |
||||
optional .benchmarks.google_message3.Message6742 field6766 = 7; |
||||
} |
||||
|
||||
message Message6773 { |
||||
optional .benchmarks.google_message3.Enum6769 field6794 = 1; |
||||
optional int32 field6795 = 9; |
||||
optional .benchmarks.google_message3.UnusedEnum field6796 = 10; |
||||
optional int32 field6797 = 11; |
||||
optional int32 field6798 = 2; |
||||
optional .benchmarks.google_message3.Enum6774 field6799 = 3; |
||||
optional double field6800 = 5; |
||||
optional double field6801 = 7; |
||||
optional double field6802 = 8; |
||||
optional .benchmarks.google_message3.Enum6782 field6803 = 6; |
||||
} |
||||
|
||||
message Message8224 { |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field8255 = 1; |
||||
optional .benchmarks.google_message3.Message8184 field8256 = 2; |
||||
optional .benchmarks.google_message3.Message7966 field8257 = 3; |
||||
optional string field8258 = 4; |
||||
optional string field8259 = 5; |
||||
optional bool field8260 = 6; |
||||
optional int64 field8261 = 7; |
||||
optional string field8262 = 8; |
||||
optional int64 field8263 = 9; |
||||
optional double field8264 = 10; |
||||
optional int64 field8265 = 11; |
||||
repeated string field8266 = 12; |
||||
optional int64 field8267 = 13; |
||||
optional int32 field8268 = 14; |
||||
optional int32 field8269 = 15; |
||||
optional int64 field8270 = 16; |
||||
optional double field8271 = 17; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field8272 = 18; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field8273 = 19; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field8274 = 20; |
||||
optional bool field8275 = 21; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field8276 = 22; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field8277 = 23; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field8278 = 24; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field8279 = 25; |
||||
optional bool field8280 = 26; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field8281 = 27; |
||||
} |
||||
|
||||
message Message8392 { |
||||
optional string field8395 = 1; |
||||
optional string field8396 = 2; |
||||
optional .benchmarks.google_message3.Message7966 field8397 = 3; |
||||
optional string field8398 = 4; |
||||
optional string field8399 = 5; |
||||
optional string field8400 = 6; |
||||
optional string field8401 = 7; |
||||
optional string field8402 = 8; |
||||
optional string field8403 = 9; |
||||
} |
||||
|
||||
message Message8130 { |
||||
optional string field8156 = 1; |
||||
optional string field8157 = 2; |
||||
optional string field8158 = 4; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field8159 = 6; |
||||
repeated string field8160 = 7; |
||||
optional int64 field8161 = 8; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field8162 = 9; |
||||
optional string field8163 = 10; |
||||
optional string field8164 = 11; |
||||
optional string field8165 = 12; |
||||
optional string field8166 = 13; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field8167 = 14; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field8168 = 15; |
||||
optional string field8169 = 16; |
||||
optional .benchmarks.google_message3.UnusedEnum field8170 = 17; |
||||
optional .benchmarks.google_message3.UnusedEnum field8171 = 18; |
||||
optional bool field8172 = 19; |
||||
optional bool field8173 = 20; |
||||
optional double field8174 = 21; |
||||
optional int32 field8175 = 22; |
||||
optional int32 field8176 = 23; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field8177 = 24; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field8178 = 25; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field8179 = 26; |
||||
} |
||||
|
||||
message Message8478 { |
||||
optional string field8489 = 7; |
||||
optional .benchmarks.google_message3.Message7966 field8490 = 1; |
||||
optional .benchmarks.google_message3.Message8476 field8491 = 2; |
||||
optional int64 field8492 = 3; |
||||
optional .benchmarks.google_message3.Message8476 field8493 = 4; |
||||
repeated .benchmarks.google_message3.Message8477 field8494 = 5; |
||||
optional .benchmarks.google_message3.Message8454 field8495 = 6; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field8496 = 8; |
||||
} |
||||
|
||||
message Message8479 { |
||||
optional .benchmarks.google_message3.Message8475 field8497 = 1; |
||||
optional .benchmarks.google_message3.Message7966 field8498 = 2; |
||||
optional .benchmarks.google_message3.Message8476 field8499 = 3; |
||||
optional .benchmarks.google_message3.Message8476 field8500 = 4; |
||||
optional string field8501 = 6; |
||||
optional string field8502 = 7; |
||||
optional .benchmarks.google_message3.Message7966 field8503 = 8; |
||||
optional .benchmarks.google_message3.Message8455 field8504 = 5; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field8505 = 9; |
||||
} |
||||
|
||||
message Message10319 { |
||||
optional .benchmarks.google_message3.Enum10325 field10340 = 1; |
||||
optional int32 field10341 = 4; |
||||
optional int32 field10342 = 5; |
||||
optional bytes field10343 = 3; |
||||
optional string field10344 = 2; |
||||
optional string field10345 = 6; |
||||
optional string field10346 = 7; |
||||
} |
||||
|
||||
message Message4016 { |
||||
required int32 field4017 = 1; |
||||
required int32 field4018 = 2; |
||||
required int32 field4019 = 3; |
||||
required int32 field4020 = 4; |
||||
} |
||||
|
||||
message Message12669 { |
||||
optional .benchmarks.google_message3.Message12559 field12681 = 1; |
||||
optional float field12682 = 2; |
||||
optional bool field12683 = 3; |
||||
optional .benchmarks.google_message3.Enum12670 field12684 = 4; |
||||
} |
||||
|
||||
message Message12819 { |
||||
optional double field12834 = 1; |
||||
optional double field12835 = 2; |
||||
optional double field12836 = 3; |
||||
optional double field12837 = 4; |
||||
optional double field12838 = 5; |
||||
optional double field12839 = 6; |
||||
} |
||||
|
||||
message Message12820 { |
||||
optional int32 field12840 = 1; |
||||
optional int32 field12841 = 2; |
||||
optional int32 field12842 = 3; |
||||
optional int32 field12843 = 8; |
||||
optional int32 field12844 = 4; |
||||
optional int32 field12845 = 5; |
||||
optional int32 field12846 = 6; |
||||
optional int32 field12847 = 7; |
||||
} |
||||
|
||||
message Message12821 { |
||||
optional int32 field12848 = 1; |
||||
optional int32 field12849 = 2; |
||||
optional int32 field12850 = 3; |
||||
optional int32 field12851 = 4; |
||||
optional int32 field12852 = 5; |
||||
} |
||||
|
||||
message Message12818 { |
||||
optional uint64 field12829 = 1; |
||||
optional int32 field12830 = 2; |
||||
optional int32 field12831 = 3; |
||||
optional int32 field12832 = 5; |
||||
repeated .benchmarks.google_message3.Message12817 field12833 = 4; |
||||
} |
||||
|
||||
message Message16479 { |
||||
optional .benchmarks.google_message3.Message16480 field16484 = 1; |
||||
optional int32 field16485 = 5; |
||||
optional float field16486 = 2; |
||||
optional uint32 field16487 = 4; |
||||
optional bool field16488 = 3; |
||||
optional uint32 field16489 = 6; |
||||
} |
||||
|
||||
message Message16722 { |
||||
optional string field16752 = 1; |
||||
optional string field16753 = 2; |
||||
optional string field16754 = 3; |
||||
optional int32 field16755 = 5; |
||||
optional string field16756 = 4; |
||||
} |
||||
|
||||
message Message16724 { |
||||
optional int64 field16761 = 1; |
||||
optional float field16762 = 2; |
||||
optional int64 field16763 = 3; |
||||
optional int64 field16764 = 4; |
||||
optional bool field16765 = 5; |
||||
repeated string field16766 = 6; |
||||
repeated string field16767 = 7; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field16768 = 8; |
||||
optional bool field16769 = 9; |
||||
optional uint32 field16770 = 10; |
||||
optional .benchmarks.google_message3.Enum16728 field16771 = 11; |
||||
repeated int32 field16772 = 12; |
||||
optional bool field16773 = 13; |
||||
} |
||||
|
||||
message Message17728 {} |
||||
|
||||
message Message24356 { |
||||
optional string field24559 = 1; |
||||
optional string field24560 = 2; |
||||
optional int32 field24561 = 14; |
||||
optional string field24562 = 3; |
||||
optional string field24563 = 4; |
||||
optional string field24564 = 5; |
||||
optional .benchmarks.google_message3.UnusedEnum field24565 = 13; |
||||
optional string field24566 = 6; |
||||
optional .benchmarks.google_message3.Enum24361 field24567 = 12; |
||||
optional string field24568 = 7; |
||||
optional string field24569 = 8; |
||||
optional string field24570 = 9; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field24571 = 10; |
||||
repeated string field24572 = 11; |
||||
repeated string field24573 = 15; |
||||
} |
||||
|
||||
message Message24376 { |
||||
optional string field24589 = 1; |
||||
optional string field24590 = 2; |
||||
optional string field24591 = 3; |
||||
required .benchmarks.google_message3.Message24377 field24592 = 4; |
||||
optional .benchmarks.google_message3.Message24317 field24593 = 5; |
||||
optional string field24594 = 6; |
||||
optional .benchmarks.google_message3.Message24378 field24595 = 7; |
||||
repeated string field24596 = 8; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field24597 = 14; |
||||
repeated string field24598 = 9; |
||||
repeated string field24599 = 10; |
||||
repeated string field24600 = 11; |
||||
optional string field24601 = 12; |
||||
repeated string field24602 = 13; |
||||
} |
||||
|
||||
message Message24366 { |
||||
optional string field24574 = 1; |
||||
optional string field24575 = 2; |
||||
optional string field24576 = 3; |
||||
optional int32 field24577 = 10; |
||||
optional string field24578 = 13; |
||||
optional string field24579 = 4; |
||||
optional string field24580 = 5; |
||||
optional .benchmarks.google_message3.UnusedEnum field24581 = 9; |
||||
optional string field24582 = 14; |
||||
optional .benchmarks.google_message3.UnusedEnum field24583 = 15; |
||||
optional string field24584 = 6; |
||||
optional string field24585 = 12; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field24586 = 7; |
||||
repeated string field24587 = 8; |
||||
repeated string field24588 = 11; |
||||
} |
@ -1,514 +0,0 @@ |
||||
// Protocol Buffers - Google's data interchange format |
||||
// Copyright 2008 Google Inc. All rights reserved. |
||||
// https://developers.google.com/protocol-buffers/ |
||||
// |
||||
// Redistribution and use in source and binary forms, with or without |
||||
// modification, are permitted provided that the following conditions are |
||||
// met: |
||||
// |
||||
// * Redistributions of source code must retain the above copyright |
||||
// notice, this list of conditions and the following disclaimer. |
||||
// * Redistributions in binary form must reproduce the above |
||||
// copyright notice, this list of conditions and the following disclaimer |
||||
// in the documentation and/or other materials provided with the |
||||
// distribution. |
||||
// * Neither the name of Google Inc. nor the names of its |
||||
// contributors may be used to endorse or promote products derived from |
||||
// this software without specific prior written permission. |
||||
// |
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
// LINT: ALLOW_GROUPS |
||||
|
||||
syntax = "proto2"; |
||||
|
||||
package benchmarks.google_message3; |
||||
|
||||
import "benchmarks/datasets/google_message3/benchmark_message3_5.proto"; |
||||
import "benchmarks/datasets/google_message3/benchmark_message3_6.proto"; |
||||
import "benchmarks/datasets/google_message3/benchmark_message3_7.proto"; |
||||
import "benchmarks/datasets/google_message3/benchmark_message3_8.proto"; |
||||
|
||||
option cc_enable_arenas = true; |
||||
option java_package = "com.google.protobuf.benchmarks"; |
||||
|
||||
message Message24346 {} |
||||
|
||||
message Message24401 { |
||||
optional .benchmarks.google_message3.Message24400 field24679 = 1; |
||||
} |
||||
|
||||
message Message24402 { |
||||
optional .benchmarks.google_message3.Message24400 field24680 = 1; |
||||
} |
||||
|
||||
message Message24379 { |
||||
optional string field24603 = 1; |
||||
optional string field24604 = 2; |
||||
optional string field24605 = 3; |
||||
required .benchmarks.google_message3.Message24380 field24606 = 4; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field24607 = 5; |
||||
optional string field24608 = 6; |
||||
optional .benchmarks.google_message3.Message24381 field24609 = 7; |
||||
repeated string field24610 = 8; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field24611 = 17; |
||||
repeated string field24612 = 9; |
||||
repeated string field24613 = 10; |
||||
repeated string field24614 = 11; |
||||
optional string field24615 = 14; |
||||
optional string field24616 = 12; |
||||
optional string field24617 = 16; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field24618 = 13; |
||||
repeated string field24619 = 15; |
||||
repeated string field24620 = 18; |
||||
} |
||||
|
||||
message Message27358 { |
||||
optional int32 field27415 = 1; |
||||
optional int32 field27416 = 2; |
||||
} |
||||
|
||||
message Message34381 { |
||||
optional string field34398 = 1; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field34399 = 2; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field34400 = 3; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field34401 = 4; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field34402 = 5; |
||||
optional bool field34403 = 6; |
||||
optional bool field34404 = 7; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field34405 = 8; |
||||
optional bool field34406 = 9; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field34407 = 10; |
||||
} |
||||
|
||||
message Message34619 { |
||||
optional double field34641 = 1; |
||||
optional double field34642 = 2; |
||||
optional double field34643 = 3; |
||||
optional double field34644 = 4; |
||||
optional double field34645 = 11; |
||||
optional double field34646 = 5; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field34647 = 100; |
||||
} |
||||
|
||||
message Message730 { |
||||
optional string field897 = 19; |
||||
repeated string field898 = 27; |
||||
repeated string field899 = 28; |
||||
repeated string field900 = 21; |
||||
optional string field901 = 30; |
||||
repeated uint32 field902 = 20; |
||||
repeated uint32 field903 = 32; |
||||
repeated string field904 = 16; |
||||
repeated .benchmarks.google_message3.Message697 field905 = 6; |
||||
repeated .benchmarks.google_message3.Message704 field906 = 7; |
||||
repeated string field907 = 18; |
||||
repeated .benchmarks.google_message3.Message703 field908 = 8; |
||||
repeated string field909 = 9; |
||||
optional .benchmarks.google_message3.Message716 field910 = 10; |
||||
optional .benchmarks.google_message3.Message718 field911 = 11; |
||||
optional bool field912 = 14; |
||||
repeated .benchmarks.google_message3.Message715 field913 = 4; |
||||
repeated string field914 = 17; |
||||
repeated string field915 = 23; |
||||
repeated .benchmarks.google_message3.Message719 field916 = 24; |
||||
repeated .benchmarks.google_message3.Message728 field917 = 26; |
||||
repeated .benchmarks.google_message3.Message702 field918 = 35; |
||||
optional string field919 = 36; |
||||
repeated string field920 = 37; |
||||
optional int64 field921 = 38; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field922 = 39; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field923 = 1; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field924 = 2; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field925 = 3; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field926 = 5; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field927 = 13; |
||||
repeated string field928 = 22; |
||||
optional bytes field929 = 31; |
||||
extensions 25 to 25; |
||||
extensions 29 to 29; |
||||
extensions 34 to 34; |
||||
extensions 15 to 15; |
||||
} |
||||
|
||||
message Message33958 { |
||||
optional string field33977 = 1; |
||||
optional string field33978 = 9; |
||||
repeated group Message33959 = 2 { |
||||
required string field33982 = 3; |
||||
optional string field33983 = 4; |
||||
optional string field33984 = 5; |
||||
optional fixed64 field33985 = 8; |
||||
optional bool field33986 = 10; |
||||
optional .benchmarks.google_message3.Message0 field33987 = 6; |
||||
} |
||||
optional .benchmarks.google_message3.Enum33960 field33980 = 7; |
||||
extend .benchmarks.google_message3.Message0 { |
||||
optional .benchmarks.google_message3.Message33958 field33981 = 10747482; |
||||
} |
||||
} |
||||
|
||||
message Message6637 { |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field6670 = 2; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field6671 = 1; |
||||
optional int32 field6672 = 3; |
||||
repeated string field6673 = 4; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field6674 = 5; |
||||
} |
||||
|
||||
message Message6643 { |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field6683 = 3; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field6684 = 4; |
||||
optional double field6685 = 5; |
||||
optional double field6686 = 6; |
||||
optional int32 field6687 = 1; |
||||
optional int32 field6688 = 2; |
||||
optional double field6689 = 9; |
||||
optional bytes field6690 = 10; |
||||
optional int32 field6691 = 11; |
||||
optional bool field6692 = 12; |
||||
optional bool field6693 = 13; |
||||
optional .benchmarks.google_message3.Message6578 field6694 = 15; |
||||
optional .benchmarks.google_message3.UnusedEnum field6695 = 16; |
||||
optional int64 field6696 = 17; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field6697 = 22; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field6698 = 19; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field6699 = 20; |
||||
optional int32 field6700 = 21; |
||||
} |
||||
|
||||
message Message6126 { |
||||
required string field6152 = 1; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field6153 = 9; |
||||
optional int32 field6154 = 14; |
||||
optional bytes field6155 = 10; |
||||
optional .benchmarks.google_message3.Message6024 field6156 = 12; |
||||
optional int32 field6157 = 4; |
||||
optional string field6158 = 5; |
||||
optional int32 field6159 = 6; |
||||
repeated int32 field6160 = 2; |
||||
repeated int32 field6161 = 3; |
||||
repeated .benchmarks.google_message3.Message6052 field6162 = 7; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field6163 = 11; |
||||
optional .benchmarks.google_message3.Enum6065 field6164 = 15; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field6165 = 8; |
||||
optional bool field6166 = 13; |
||||
optional bool field6167 = 16; |
||||
optional bool field6168 = 18; |
||||
repeated .benchmarks.google_message3.Message6054 field6169 = 17; |
||||
optional int32 field6170 = 19; |
||||
} |
||||
|
||||
message Message13083 { |
||||
optional float field13096 = 1; |
||||
repeated group Message13084 = 2 { |
||||
required float field13107 = 3; |
||||
required int32 field13108 = 4; |
||||
optional float field13109 = 5; |
||||
repeated .benchmarks.google_message3.Enum13092 field13110 = 6; |
||||
} |
||||
optional float field13098 = 44; |
||||
optional float field13099 = 45; |
||||
optional uint64 field13100 = 46; |
||||
optional float field13101 = 47; |
||||
optional group Message13085 = 16 {} |
||||
repeated group Message13086 = 23 {} |
||||
repeated group Message13087 = 29 {} |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field13105 = 43; |
||||
} |
||||
|
||||
message Message13088 { |
||||
repeated group Message13089 = 1 { |
||||
required string field13139 = 2; |
||||
optional float field13140 = 3; |
||||
} |
||||
optional int64 field13136 = 4; |
||||
optional bool field13137 = 5; |
||||
} |
||||
|
||||
message Message10391 { |
||||
optional .benchmarks.google_message3.Enum10392 field10411 = 1; |
||||
optional .benchmarks.google_message3.UnusedEnum field10412 = 2; |
||||
optional int64 field10413 = 3; |
||||
optional string field10414 = 4; |
||||
optional string field10415 = 5; |
||||
optional bytes field10416 = 6; |
||||
optional bool field10417 = 8; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field10418 = 9; |
||||
optional bool field10419 = 10; |
||||
} |
||||
|
||||
message Message11873 { |
||||
optional string field11876 = 1; |
||||
optional string field11877 = 4; |
||||
optional .benchmarks.google_message3.Message10573 field11878 = 5; |
||||
optional .benchmarks.google_message3.Message10582 field11879 = 6; |
||||
optional .benchmarks.google_message3.Message10824 field11880 = 7; |
||||
optional .benchmarks.google_message3.Message10773 field11881 = 12; |
||||
optional .benchmarks.google_message3.Message11866 field11882 = 8; |
||||
optional .benchmarks.google_message3.Message10818 field11883 = 13; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field11884 = 16; |
||||
optional .benchmarks.google_message3.Message10155 field11885 = 11; |
||||
optional .benchmarks.google_message3.Message10469 field11886 = 14; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field11887 = 15; |
||||
extensions 9 to 9; |
||||
extensions 10 to 10; |
||||
} |
||||
|
||||
message Message35506 { |
||||
optional int32 field35524 = 1; |
||||
optional string field35525 = 2; |
||||
optional .benchmarks.google_message3.Enum35507 field35526 = 3; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field35527 = 4; |
||||
} |
||||
|
||||
message Message13151 { |
||||
repeated .benchmarks.google_message3.Message13145 field13158 = 1; |
||||
} |
||||
|
||||
message Message18253 { |
||||
repeated group Message18254 = 1 { |
||||
required fixed64 field18362 = 2; |
||||
required double field18363 = 3; |
||||
} |
||||
} |
||||
|
||||
message Message16685 { |
||||
repeated .benchmarks.google_message3.Message16686 field16694 = 2; |
||||
} |
||||
|
||||
message Message16816 { |
||||
optional float field16826 = 1; |
||||
optional .benchmarks.google_message3.Enum16819 field16827 = 2; |
||||
optional float field16828 = 3; |
||||
repeated group Message16817 = 4 {} |
||||
optional bool field16830 = 7; |
||||
optional bool field16831 = 8; |
||||
repeated group Message16818 = 12 {} |
||||
optional string field16833 = 10; |
||||
optional bool field16834 = 13; |
||||
optional bool field16835 = 14; |
||||
} |
||||
|
||||
message Message13168 { |
||||
required int32 field13212 = 1; |
||||
optional fixed64 field13213 = 7; |
||||
optional bool field13214 = 8; |
||||
optional fixed64 field13215 = 10; |
||||
optional bool field13216 = 11; |
||||
optional .benchmarks.google_message3.Message12796 field13217 = 9; |
||||
required double field13218 = 2; |
||||
required bool field13219 = 3; |
||||
optional int32 field13220 = 4; |
||||
required bool field13221 = 5; |
||||
optional int32 field13222 = 6; |
||||
} |
||||
|
||||
message Message13167 { |
||||
required int32 field13199 = 1; |
||||
optional int32 field13200 = 2; |
||||
optional int32 field13201 = 3; |
||||
optional bool field13202 = 8; |
||||
optional fixed64 field13203 = 12; |
||||
optional bool field13204 = 13; |
||||
optional .benchmarks.google_message3.Message12796 field13205 = 11; |
||||
optional fixed64 field13206 = 9; |
||||
optional bool field13207 = 10; |
||||
repeated int32 field13208 = 4; |
||||
optional int32 field13209 = 5; |
||||
optional int32 field13210 = 6; |
||||
optional int32 field13211 = 7; |
||||
} |
||||
|
||||
message Message1374 { |
||||
required string field1375 = 1; |
||||
optional string field1376 = 2; |
||||
} |
||||
|
||||
message Message18943 {} |
||||
|
||||
message Message18944 {} |
||||
|
||||
message Message18856 { |
||||
optional string field18857 = 1; |
||||
optional string field18858 = 2; |
||||
optional bool field18859 = 31; |
||||
optional string field18860 = 26; |
||||
optional string field18861 = 3; |
||||
optional string field18862 = 4; |
||||
optional string field18863 = 5; |
||||
optional string field18864 = 17; |
||||
optional string field18865 = 6; |
||||
optional string field18866 = 7; |
||||
optional string field18867 = 8; |
||||
optional string field18868 = 9; |
||||
optional string field18869 = 10; |
||||
optional string field18870 = 11; |
||||
optional string field18871 = 21; |
||||
optional string field18872 = 18; |
||||
optional string field18873 = 19; |
||||
optional string field18874 = 20; |
||||
optional string field18875 = 22; |
||||
optional string field18876 = 23; |
||||
optional string field18877 = 24; |
||||
optional string field18878 = 25; |
||||
optional string field18879 = 12; |
||||
optional string field18880 = 13; |
||||
optional string field18881 = 29; |
||||
optional string field18882 = 30; |
||||
optional string field18883 = 15; |
||||
optional string field18884 = 16; |
||||
repeated string field18885 = 14; |
||||
optional string field18886 = 27; |
||||
optional string field18887 = 28; |
||||
} |
||||
|
||||
message Message3850 { |
||||
optional .benchmarks.google_message3.Enum3851 field3924 = 2; |
||||
optional bool field3925 = 12; |
||||
optional int32 field3926 = 4; |
||||
optional bool field3927 = 10; |
||||
optional bool field3928 = 13; |
||||
optional bool field3929 = 14; |
||||
} |
||||
|
||||
message Message6721 { |
||||
optional .benchmarks.google_message3.Message6722 field6744 = 1; |
||||
optional bool field6745 = 2; |
||||
optional bool field6746 = 3; |
||||
optional bool field6747 = 4; |
||||
} |
||||
|
||||
message Message6742 { |
||||
optional bool field6758 = 1; |
||||
} |
||||
|
||||
message Message6726 { |
||||
optional int64 field6752 = 1; |
||||
repeated .benchmarks.google_message3.Message6727 field6753 = 2; |
||||
} |
||||
|
||||
message Message6733 { |
||||
optional int64 field6754 = 1; |
||||
optional int64 field6755 = 2; |
||||
optional bool field6756 = 3; |
||||
} |
||||
|
||||
message Message6723 { |
||||
optional int64 field6748 = 1; |
||||
repeated .benchmarks.google_message3.Message6724 field6749 = 2; |
||||
} |
||||
|
||||
message Message6725 { |
||||
optional int32 field6750 = 1; |
||||
optional int32 field6751 = 2; |
||||
} |
||||
|
||||
message Message6734 { |
||||
repeated .benchmarks.google_message3.Message6735 field6757 = 1; |
||||
} |
||||
|
||||
message Message8184 { |
||||
optional .benchmarks.google_message3.Message7966 field8228 = 1; |
||||
optional bool field8229 = 2; |
||||
repeated .benchmarks.google_message3.Message8183 field8230 = 3; |
||||
} |
||||
|
||||
message Message8477 { |
||||
optional .benchmarks.google_message3.Message7966 field8486 = 1; |
||||
optional int64 field8487 = 2; |
||||
optional string field8488 = 3; |
||||
} |
||||
|
||||
message Message8454 { |
||||
optional .benchmarks.google_message3.Message8449 field8465 = 1; |
||||
optional int64 field8466 = 3; |
||||
optional int32 field8467 = 4; |
||||
optional bool field8468 = 5; |
||||
extend .benchmarks.google_message3.Message8301 { |
||||
optional .benchmarks.google_message3.Message8454 field8469 = 66; |
||||
} |
||||
} |
||||
|
||||
message Message8476 { |
||||
optional string field8483 = 1; |
||||
optional string field8484 = 2; |
||||
optional string field8485 = 3; |
||||
} |
||||
|
||||
message Message8455 { |
||||
optional .benchmarks.google_message3.Message8449 field8470 = 1; |
||||
repeated .benchmarks.google_message3.Message8456 field8471 = 2; |
||||
optional .benchmarks.google_message3.Message8457 field8472 = 5; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field8473 = 6; |
||||
extend .benchmarks.google_message3.Message8302 { |
||||
optional .benchmarks.google_message3.Message8455 field8474 = 66; |
||||
} |
||||
} |
||||
|
||||
message Message8475 { |
||||
optional string field8481 = 1; |
||||
optional int64 field8482 = 2; |
||||
} |
||||
|
||||
message Message12559 {} |
||||
|
||||
message Message12817 { |
||||
optional int32 field12826 = 1; |
||||
optional int32 field12827 = 2; |
||||
optional int32 field12828 = 3; |
||||
} |
||||
|
||||
message Message16480 { |
||||
optional .benchmarks.google_message3.Message13358 field16490 = 1; |
||||
optional .benchmarks.google_message3.Enum16042 field16491 = 2; |
||||
optional .benchmarks.google_message3.Message13912 field16492 = 3; |
||||
optional string field16493 = 4; |
||||
optional string field16494 = 5; |
||||
optional string field16495 = 6; |
||||
optional string field16496 = 7; |
||||
optional .benchmarks.google_message3.Message13358 field16497 = 8; |
||||
optional fixed32 field16498 = 9; |
||||
} |
||||
|
||||
message Message24317 { |
||||
optional string field24446 = 1; |
||||
optional .benchmarks.google_message3.Message24312 field24447 = 2; |
||||
repeated .benchmarks.google_message3.Message24315 field24448 = 3; |
||||
repeated .benchmarks.google_message3.Message24313 field24449 = 4; |
||||
repeated .benchmarks.google_message3.Message24316 field24450 = 5; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field24451 = 6; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field24452 = 7; |
||||
repeated string field24453 = 8; |
||||
repeated string field24454 = 9; |
||||
repeated string field24455 = 10; |
||||
repeated string field24456 = 28; |
||||
optional string field24457 = 11; |
||||
optional string field24458 = 12; |
||||
optional string field24459 = 13; |
||||
optional string field24460 = 14; |
||||
repeated string field24461 = 15; |
||||
optional string field24462 = 16; |
||||
repeated string field24463 = 17; |
||||
repeated string field24464 = 18; |
||||
repeated string field24465 = 19; |
||||
repeated string field24466 = 20; |
||||
repeated string field24467 = 21; |
||||
repeated string field24468 = 22; |
||||
repeated string field24469 = 23; |
||||
repeated string field24470 = 24; |
||||
optional string field24471 = 25; |
||||
optional string field24472 = 26; |
||||
repeated string field24473 = 27; |
||||
optional bool field24474 = 40; |
||||
} |
@ -1,496 +0,0 @@ |
||||
// Protocol Buffers - Google's data interchange format |
||||
// Copyright 2008 Google Inc. All rights reserved. |
||||
// https://developers.google.com/protocol-buffers/ |
||||
// |
||||
// Redistribution and use in source and binary forms, with or without |
||||
// modification, are permitted provided that the following conditions are |
||||
// met: |
||||
// |
||||
// * Redistributions of source code must retain the above copyright |
||||
// notice, this list of conditions and the following disclaimer. |
||||
// * Redistributions in binary form must reproduce the above |
||||
// copyright notice, this list of conditions and the following disclaimer |
||||
// in the documentation and/or other materials provided with the |
||||
// distribution. |
||||
// * Neither the name of Google Inc. nor the names of its |
||||
// contributors may be used to endorse or promote products derived from |
||||
// this software without specific prior written permission. |
||||
// |
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
// LINT: ALLOW_GROUPS |
||||
|
||||
syntax = "proto2"; |
||||
|
||||
package benchmarks.google_message3; |
||||
|
||||
import "benchmarks/datasets/google_message3/benchmark_message3_6.proto"; |
||||
import "benchmarks/datasets/google_message3/benchmark_message3_7.proto"; |
||||
import "benchmarks/datasets/google_message3/benchmark_message3_8.proto"; |
||||
|
||||
option cc_enable_arenas = true; |
||||
option java_package = "com.google.protobuf.benchmarks"; |
||||
|
||||
message Message24377 {} |
||||
|
||||
message Message24378 {} |
||||
|
||||
message Message24400 { |
||||
optional int32 field24674 = 1; |
||||
optional int32 field24675 = 2; |
||||
optional int32 field24676 = 3; |
||||
optional int32 field24677 = 4; |
||||
optional int32 field24678 = 5; |
||||
} |
||||
|
||||
message Message24380 {} |
||||
|
||||
message Message24381 {} |
||||
|
||||
message Message719 { |
||||
repeated string field881 = 1; |
||||
repeated string field882 = 2; |
||||
repeated string field883 = 3; |
||||
optional .benchmarks.google_message3.Enum720 field884 = 4; |
||||
} |
||||
|
||||
message Message728 { |
||||
required string field887 = 1; |
||||
repeated string field888 = 2; |
||||
repeated .benchmarks.google_message3.Message703 field889 = 3; |
||||
repeated .benchmarks.google_message3.Message715 field890 = 4; |
||||
repeated string field891 = 5; |
||||
repeated string field892 = 6; |
||||
optional .benchmarks.google_message3.Message718 field893 = 7; |
||||
optional .benchmarks.google_message3.Message716 field894 = 8; |
||||
repeated string field895 = 9; |
||||
extensions 10 to 10; |
||||
extensions 11 to 11; |
||||
extensions 12 to 12; |
||||
} |
||||
|
||||
message Message704 { |
||||
optional string field800 = 1; |
||||
optional string field801 = 7; |
||||
optional string field802 = 2; |
||||
optional string field803 = 3; |
||||
optional string field804 = 4; |
||||
optional string field805 = 5; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field806 = 6; |
||||
} |
||||
|
||||
message Message697 { |
||||
optional string field743 = 7; |
||||
repeated string field744 = 1; |
||||
repeated string field745 = 2; |
||||
repeated string field746 = 33; |
||||
repeated string field747 = 29; |
||||
repeated string field748 = 30; |
||||
repeated string field749 = 31; |
||||
repeated string field750 = 32; |
||||
repeated string field751 = 13; |
||||
repeated string field752 = 6; |
||||
repeated string field753 = 3; |
||||
repeated string field754 = 14; |
||||
repeated string field755 = 15; |
||||
repeated string field756 = 16; |
||||
repeated string field757 = 4; |
||||
repeated string field758 = 34; |
||||
repeated string field759 = 35; |
||||
repeated string field760 = 5; |
||||
repeated string field761 = 17; |
||||
repeated string field762 = 18; |
||||
repeated string field763 = 19; |
||||
optional bool field764 = 36; |
||||
repeated string field765 = 8; |
||||
repeated string field766 = 9; |
||||
optional string field767 = 27; |
||||
optional bool field768 = 25; |
||||
optional .benchmarks.google_message3.Message700 field769 = 10; |
||||
optional bool field770 = 11; |
||||
optional bool field771 = 24; |
||||
repeated string field772 = 12; |
||||
repeated string field773 = 20; |
||||
repeated string field774 = 21; |
||||
repeated string field775 = 22; |
||||
repeated .benchmarks.google_message3.Message699 field776 = 23; |
||||
repeated .benchmarks.google_message3.Message698 field777 = 37; |
||||
optional int64 field778 = 38; |
||||
extensions 28 to 28; |
||||
extensions 26 to 26; |
||||
} |
||||
|
||||
message Message0 { |
||||
option message_set_wire_format = true; |
||||
|
||||
extensions 4 to 2147483646; |
||||
} |
||||
|
||||
message Message6578 { |
||||
optional .benchmarks.google_message3.Enum6579 field6632 = 1; |
||||
optional .benchmarks.google_message3.Enum6588 field6633 = 2; |
||||
} |
||||
|
||||
message Message6024 { |
||||
optional .benchmarks.google_message3.Enum6025 field6048 = 1; |
||||
optional string field6049 = 2; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field6050 = 3; |
||||
} |
||||
|
||||
message Message6052 { |
||||
required string field6084 = 1; |
||||
required bytes field6085 = 2; |
||||
} |
||||
|
||||
message Message6054 { |
||||
required string field6089 = 1; |
||||
optional string field6090 = 2; |
||||
} |
||||
|
||||
message Message10573 { |
||||
repeated .benchmarks.google_message3.Message10576 field10580 = 1; |
||||
optional string field10581 = 2; |
||||
extensions 10000 to 536870911; |
||||
} |
||||
|
||||
message Message10824 { |
||||
required string field10825 = 1; |
||||
optional int32 field10826 = 2; |
||||
} |
||||
|
||||
message Message10582 { |
||||
required bool field10583 = 1; |
||||
required double field10584 = 2; |
||||
optional bool field10585 = 3; |
||||
optional double field10586 = 4; |
||||
optional double field10587 = 5; |
||||
optional bool field10588 = 6; |
||||
} |
||||
|
||||
message Message10155 { |
||||
required int32 field10195 = 1; |
||||
required int32 field10196 = 2; |
||||
optional .benchmarks.google_message3.Enum10157 field10197 = 59; |
||||
optional int32 field10198 = 18; |
||||
optional int32 field10199 = 19; |
||||
optional int32 field10200 = 21; |
||||
repeated group Message10156 = 50 { |
||||
optional .benchmarks.google_message3.Enum8862 field10266 = 51; |
||||
optional int32 field10267 = 52; |
||||
optional int32 field10268 = 53; |
||||
optional int32 field10269 = 54; |
||||
} |
||||
optional int32 field10202 = 3; |
||||
optional int32 field10203 = 4; |
||||
optional int32 field10204 = 5; |
||||
optional bool field10205 = 84; |
||||
optional bool field10206 = 33; |
||||
optional int32 field10207 = 75; |
||||
optional float field10208 = 26; |
||||
optional int32 field10209 = 27; |
||||
optional int32 field10210 = 49; |
||||
optional int32 field10211 = 10; |
||||
optional float field10212 = 78; |
||||
optional .benchmarks.google_message3.Message9151 field10213 = 91; |
||||
optional int32 field10214 = 11; |
||||
optional int32 field10215 = 12; |
||||
optional float field10216 = 41; |
||||
optional .benchmarks.google_message3.Message10154 field10217 = 61; |
||||
optional int32 field10218 = 23; |
||||
optional bytes field10219 = 24; |
||||
optional int32 field10220 = 65; |
||||
repeated bytes field10221 = 66; |
||||
optional int32 field10222 = 70; |
||||
optional bytes field10223 = 71; |
||||
repeated fixed64 field10224 = 73; |
||||
optional float field10225 = 29; |
||||
optional int32 field10226 = 30; |
||||
optional float field10227 = 31; |
||||
optional int32 field10228 = 32; |
||||
optional float field10229 = 34; |
||||
optional int32 field10230 = 35; |
||||
optional string field10231 = 22; |
||||
optional fixed64 field10232 = 13; |
||||
optional fixed64 field10233 = 20; |
||||
optional bool field10234 = 79; |
||||
repeated .benchmarks.google_message3.Enum10167 field10235 = 80 |
||||
[packed = true]; |
||||
optional int32 field10236 = 14; |
||||
optional int32 field10237 = 15; |
||||
optional int32 field10238 = 28; |
||||
repeated string field10239 = 16; |
||||
optional .benchmarks.google_message3.Message9182 field10240 = 17; |
||||
optional int32 field10241 = 63; |
||||
optional float field10242 = 64; |
||||
optional float field10243 = 37; |
||||
repeated float field10244 = 43; |
||||
optional int32 field10245 = 44; |
||||
optional .benchmarks.google_message3.Message9242 field10246 = 45; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field10247 = 46; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field10248 = 62; |
||||
optional .benchmarks.google_message3.Message8944 field10249 = 48; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field10250 = 87; |
||||
optional int32 field10251 = 58; |
||||
optional int32 field10252 = 92; |
||||
optional .benchmarks.google_message3.Message9123 field10253 = 93; |
||||
optional .benchmarks.google_message3.Message9160 field10254 = 60; |
||||
optional .benchmarks.google_message3.Message8890 field10255 = 67; |
||||
optional string field10256 = 69; |
||||
optional int64 field10257 = 74; |
||||
optional float field10258 = 82; |
||||
optional float field10259 = 85; |
||||
optional float field10260 = 86; |
||||
optional int64 field10261 = 83; |
||||
optional string field10262 = 77; |
||||
optional bool field10263 = 88; |
||||
repeated .benchmarks.google_message3.Message9628 field10264 = 94; |
||||
extensions 57 to 57; |
||||
extensions 1000 to 536870911; |
||||
} |
||||
|
||||
message Message11866 { |
||||
required .benchmarks.google_message3.Message11014 field11868 = 1; |
||||
optional bool field11869 = 2; |
||||
optional double field11870 = 3; |
||||
optional double field11871 = 4; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field11872 = 5; |
||||
} |
||||
|
||||
message Message10469 { |
||||
optional string field10473 = 1; |
||||
optional float field10474 = 2; |
||||
optional int32 field10475 = 3; |
||||
optional int32 field10476 = 4; |
||||
optional int32 field10477 = 5; |
||||
optional bool field10478 = 6; |
||||
optional bool field10479 = 7; |
||||
optional int32 field10480 = 8; |
||||
optional float field10481 = 9; |
||||
} |
||||
|
||||
message Message10818 { |
||||
optional .benchmarks.google_message3.Message10800 field10819 = 1; |
||||
optional .benchmarks.google_message3.Message10801 field10820 = 2; |
||||
} |
||||
|
||||
message Message10773 { |
||||
optional bool field10774 = 9; |
||||
optional bool field10775 = 1; |
||||
optional bool field10776 = 23; |
||||
optional bool field10777 = 2; |
||||
optional bool field10778 = 3; |
||||
optional int32 field10779 = 4; |
||||
optional int32 field10780 = 5; |
||||
optional int32 field10781 = 6; |
||||
optional int32 field10782 = 7; |
||||
optional int32 field10783 = 8; |
||||
optional int32 field10784 = 10; |
||||
optional .benchmarks.google_message3.Message10749 field10785 = 11; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field10786 = 12; |
||||
optional bool field10787 = 13; |
||||
optional bool field10788 = 15; |
||||
optional bool field10789 = 16; |
||||
optional int32 field10790 = 17; |
||||
optional int32 field10791 = 18; |
||||
optional bool field10792 = 19; |
||||
optional bool field10793 = 20; |
||||
optional bool field10794 = 21; |
||||
optional .benchmarks.google_message3.UnusedEnum field10795 = 14; |
||||
optional .benchmarks.google_message3.UnusedEnum field10796 = 22; |
||||
} |
||||
|
||||
message Message13145 { |
||||
required .benchmarks.google_message3.Enum13146 field13155 = 1; |
||||
optional float field13156 = 2; |
||||
optional float field13157 = 3; |
||||
extensions 1000 to 536870911; |
||||
} |
||||
|
||||
message Message16686 {} |
||||
|
||||
message Message12796 { |
||||
repeated fixed64 field12800 = 1; |
||||
optional uint64 field12801 = 2; |
||||
} |
||||
|
||||
message Message6722 {} |
||||
|
||||
message Message6727 {} |
||||
|
||||
message Message6724 {} |
||||
|
||||
message Message6735 {} |
||||
|
||||
message Message8183 { |
||||
optional string field8226 = 1; |
||||
optional string field8227 = 2; |
||||
} |
||||
|
||||
message Message8301 { |
||||
optional string field8328 = 1; |
||||
optional .benchmarks.google_message3.Message7966 field8329 = 2; |
||||
optional string field8330 = 3; |
||||
optional string field8331 = 4; |
||||
repeated .benchmarks.google_message3.Message8290 field8332 = 5; |
||||
optional .benchmarks.google_message3.Message7966 field8333 = 6; |
||||
repeated .benchmarks.google_message3.Message8298 field8334 = 7; |
||||
optional .benchmarks.google_message3.Message8300 field8335 = 8; |
||||
optional int64 field8336 = 9; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field8337 = 10; |
||||
optional .benchmarks.google_message3.Message7965 field8338 = 11; |
||||
extensions 64 to 536870911; |
||||
} |
||||
|
||||
message Message8456 {} |
||||
|
||||
message Message8302 { |
||||
optional string field8339 = 1; |
||||
optional .benchmarks.google_message3.Message7966 field8340 = 2; |
||||
optional string field8341 = 3; |
||||
optional string field8342 = 4; |
||||
optional string field8343 = 5; |
||||
optional string field8344 = 6; |
||||
optional string field8345 = 7; |
||||
optional int64 field8346 = 8; |
||||
optional int64 field8347 = 9; |
||||
repeated .benchmarks.google_message3.Message8290 field8348 = 10; |
||||
optional string field8349 = 11; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field8350 = 12; |
||||
optional .benchmarks.google_message3.Message8291 field8351 = 13; |
||||
optional int64 field8352 = 14; |
||||
optional .benchmarks.google_message3.Message8296 field8353 = 15; |
||||
optional string field8354 = 16; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field8355 = 17; |
||||
repeated int32 field8356 = 18; |
||||
repeated int32 field8357 = 19; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field8358 = 20; |
||||
optional .benchmarks.google_message3.Message7965 field8359 = 21; |
||||
extensions 64 to 536870911; |
||||
} |
||||
|
||||
message Message8457 {} |
||||
|
||||
message Message8449 { |
||||
optional string field8458 = 1; |
||||
optional bool field8459 = 2; |
||||
optional .benchmarks.google_message3.Enum8450 field8460 = 3; |
||||
repeated string field8461 = 4; |
||||
optional string field8462 = 5; |
||||
optional string field8463 = 6; |
||||
optional .benchmarks.google_message3.Message7966 field8464 = 7; |
||||
} |
||||
|
||||
message Message13358 { |
||||
required fixed64 field13359 = 1; |
||||
required fixed64 field13360 = 2; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field13361 = 3; |
||||
} |
||||
|
||||
message Message13912 { |
||||
required fixed32 field13913 = 1; |
||||
required fixed32 field13914 = 2; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field13915 = 500; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field13916 = 15; |
||||
} |
||||
|
||||
message Message24316 { |
||||
repeated string field24443 = 1; |
||||
repeated string field24444 = 2; |
||||
repeated string field24445 = 3; |
||||
} |
||||
|
||||
message Message24312 { |
||||
optional string field24421 = 1; |
||||
optional string field24422 = 2; |
||||
repeated string field24423 = 3; |
||||
repeated string field24424 = 4; |
||||
repeated string field24425 = 5; |
||||
repeated string field24426 = 6; |
||||
} |
||||
|
||||
message Message24313 { |
||||
optional string field24427 = 1; |
||||
optional string field24428 = 2; |
||||
repeated string field24429 = 3; |
||||
optional string field24430 = 4; |
||||
optional string field24431 = 5; |
||||
optional string field24432 = 6; |
||||
optional string field24433 = 7; |
||||
repeated string field24434 = 8; |
||||
optional string field24435 = 9; |
||||
repeated string field24436 = 10; |
||||
} |
||||
|
||||
message Message24315 { |
||||
required string field24440 = 1; |
||||
repeated string field24441 = 2; |
||||
repeated string field24442 = 3; |
||||
} |
||||
|
||||
message Message716 { |
||||
required string field872 = 1; |
||||
required int32 field873 = 2; |
||||
optional bool field874 = 3; |
||||
optional .benchmarks.google_message3.Message717 field875 = 4; |
||||
} |
||||
|
||||
message Message718 { |
||||
repeated string field878 = 1; |
||||
repeated string field879 = 2; |
||||
optional string field880 = 3; |
||||
} |
||||
|
||||
message Message703 { |
||||
required string field795 = 1; |
||||
repeated string field796 = 2; |
||||
repeated string field797 = 3; |
||||
optional string field798 = 4; |
||||
repeated string field799 = 5; |
||||
} |
||||
|
||||
message Message715 { |
||||
required string field859 = 1; |
||||
optional string field860 = 7; |
||||
repeated .benchmarks.google_message3.Message707 field861 = 2; |
||||
repeated .benchmarks.google_message3.Message708 field862 = 3; |
||||
repeated .benchmarks.google_message3.Message711 field863 = 4; |
||||
repeated .benchmarks.google_message3.Message712 field864 = 5; |
||||
repeated .benchmarks.google_message3.Message713 field865 = 6; |
||||
repeated .benchmarks.google_message3.Message714 field866 = 8; |
||||
repeated .benchmarks.google_message3.Message710 field867 = 9; |
||||
repeated .benchmarks.google_message3.Message709 field868 = 10; |
||||
repeated .benchmarks.google_message3.Message705 field869 = 11; |
||||
repeated .benchmarks.google_message3.Message702 field870 = 12; |
||||
repeated .benchmarks.google_message3.Message706 field871 = 13; |
||||
} |
||||
|
||||
message Message700 { |
||||
repeated string field789 = 1; |
||||
repeated string field790 = 2; |
||||
} |
||||
|
||||
message Message699 { |
||||
required string field787 = 1; |
||||
repeated string field788 = 2; |
||||
} |
||||
|
||||
message Message698 { |
||||
optional string field779 = 1; |
||||
optional string field780 = 2; |
||||
optional string field781 = 3; |
||||
optional string field782 = 4; |
||||
optional uint64 field783 = 5; |
||||
optional uint32 field784 = 6; |
||||
optional int64 field785 = 7; |
||||
repeated string field786 = 8; |
||||
} |
@ -1,483 +0,0 @@ |
||||
// Protocol Buffers - Google's data interchange format |
||||
// Copyright 2008 Google Inc. All rights reserved. |
||||
// https://developers.google.com/protocol-buffers/ |
||||
// |
||||
// Redistribution and use in source and binary forms, with or without |
||||
// modification, are permitted provided that the following conditions are |
||||
// met: |
||||
// |
||||
// * Redistributions of source code must retain the above copyright |
||||
// notice, this list of conditions and the following disclaimer. |
||||
// * Redistributions in binary form must reproduce the above |
||||
// copyright notice, this list of conditions and the following disclaimer |
||||
// in the documentation and/or other materials provided with the |
||||
// distribution. |
||||
// * Neither the name of Google Inc. nor the names of its |
||||
// contributors may be used to endorse or promote products derived from |
||||
// this software without specific prior written permission. |
||||
// |
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
// LINT: ALLOW_GROUPS |
||||
|
||||
syntax = "proto2"; |
||||
|
||||
package benchmarks.google_message3; |
||||
|
||||
import "benchmarks/datasets/google_message3/benchmark_message3_7.proto"; |
||||
import "benchmarks/datasets/google_message3/benchmark_message3_8.proto"; |
||||
|
||||
option cc_enable_arenas = true; |
||||
option java_package = "com.google.protobuf.benchmarks"; |
||||
|
||||
message Message10576 {} |
||||
|
||||
message Message10154 { |
||||
optional bytes field10192 = 1; |
||||
optional int32 field10193 = 2; |
||||
} |
||||
|
||||
message Message8944 { |
||||
optional string field9045 = 2; |
||||
optional string field9046 = 3; |
||||
optional string field9047 = 23; |
||||
optional string field9048 = 52; |
||||
optional int32 field9049 = 53; |
||||
optional int32 field9050 = 54; |
||||
optional float field9051 = 55; |
||||
optional float field9052 = 56; |
||||
optional string field9053 = 57; |
||||
optional int64 field9054 = 1; |
||||
optional bool field9055 = 4; |
||||
optional int32 field9056 = 5; |
||||
optional int32 field9057 = 6; |
||||
optional int32 field9058 = 7; |
||||
optional float field9059 = 8; |
||||
optional float field9060 = 11; |
||||
optional float field9061 = 9; |
||||
optional float field9062 = 10; |
||||
optional float field9063 = 13; |
||||
optional bool field9064 = 14; |
||||
optional float field9065 = 70; |
||||
optional int32 field9066 = 71; |
||||
optional .benchmarks.google_message3.Enum8945 field9067 = 15; |
||||
optional int32 field9068 = 16; |
||||
optional int32 field9069 = 17; |
||||
optional float field9070 = 18; |
||||
optional float field9071 = 19; |
||||
optional int32 field9072 = 28; |
||||
optional int32 field9073 = 29; |
||||
optional float field9074 = 60; |
||||
optional float field9075 = 61; |
||||
optional int32 field9076 = 72; |
||||
optional int32 field9077 = 73; |
||||
optional .benchmarks.google_message3.Enum8951 field9078 = 62; |
||||
optional string field9079 = 20; |
||||
optional string field9080 = 21; |
||||
optional string field9081 = 22; |
||||
optional double field9082 = 31; |
||||
optional double field9083 = 32; |
||||
optional double field9084 = 33; |
||||
optional double field9085 = 36; |
||||
optional .benchmarks.google_message3.UnusedEnum field9086 = 37; |
||||
optional double field9087 = 38; |
||||
optional double field9088 = 39; |
||||
optional double field9089 = 63; |
||||
optional double field9090 = 64; |
||||
optional double field9091 = 65; |
||||
optional double field9092 = 34; |
||||
optional .benchmarks.google_message3.UnusedEnum field9093 = 35; |
||||
optional .benchmarks.google_message3.UnusedEnum field9094 = 66; |
||||
optional string field9095 = 40; |
||||
optional string field9096 = 41; |
||||
optional string field9097 = 42; |
||||
optional string field9098 = 43; |
||||
optional string field9099 = 44; |
||||
optional string field9100 = 45; |
||||
optional string field9101 = 46; |
||||
optional string field9102 = 47; |
||||
optional string field9103 = 48; |
||||
optional string field9104 = 49; |
||||
optional .benchmarks.google_message3.Message8939 field9105 = 100; |
||||
optional int64 field9106 = 101; |
||||
} |
||||
|
||||
message Message9182 { |
||||
optional string field9205 = 1; |
||||
optional string field9206 = 2; |
||||
optional float field9207 = 16; |
||||
optional int32 field9208 = 17; |
||||
optional int32 field9209 = 27; |
||||
optional int32 field9210 = 7; |
||||
optional int32 field9211 = 8; |
||||
optional float field9212 = 26; |
||||
optional float field9213 = 22; |
||||
optional bool field9214 = 28; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field9215 = 21; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field9216 = 25; |
||||
repeated .benchmarks.google_message3.Message9181 field9217 = 29; |
||||
optional bool field9218 = 18; |
||||
optional bool field9219 = 19; |
||||
optional bool field9220 = 20; |
||||
optional .benchmarks.google_message3.Message9164 field9221 = 30; |
||||
optional .benchmarks.google_message3.Message9165 field9222 = 31; |
||||
optional .benchmarks.google_message3.Message9166 field9223 = 32; |
||||
optional float field9224 = 33; |
||||
optional .benchmarks.google_message3.Message9151 field9225 = 34; |
||||
optional float field9226 = 35; |
||||
optional float field9227 = 36; |
||||
optional float field9228 = 37; |
||||
optional float field9229 = 38; |
||||
optional float field9230 = 39; |
||||
extensions 3 to 6; |
||||
extensions 9 to 15; |
||||
extensions 23 to 23; |
||||
extensions 24 to 24; |
||||
extensions 1000 to 536870911; |
||||
} |
||||
|
||||
message Message9160 { |
||||
optional int32 field9161 = 1; |
||||
optional bytes field9162 = 2; |
||||
} |
||||
|
||||
message Message9242 { |
||||
repeated .benchmarks.google_message3.Enum9243 field9327 = 1; |
||||
} |
||||
|
||||
message Message8890 { |
||||
repeated .benchmarks.google_message3.Message8888 field8916 = 1; |
||||
} |
||||
|
||||
message Message9123 { |
||||
optional float field9135 = 1; |
||||
} |
||||
|
||||
message Message9628 { |
||||
optional .benchmarks.google_message3.Message9627 field9673 = 1; |
||||
optional string field9674 = 2; |
||||
repeated int32 field9675 = 3; |
||||
optional int32 field9676 = 4; |
||||
} |
||||
|
||||
message Message11014 { |
||||
optional int32 field11780 = 40; |
||||
optional string field11781 = 46; |
||||
optional bool field11782 = 47; |
||||
optional .benchmarks.google_message3.Enum11107 field11783 = 1; |
||||
optional int32 field11784 = 2; |
||||
optional double field11785 = 4; |
||||
optional int32 field11786 = 5; |
||||
optional int32 field11787 = 6; |
||||
optional double field11788 = 7; |
||||
optional double field11789 = 8; |
||||
optional int64 field11790 = 9; |
||||
optional bool field11791 = 10; |
||||
optional int64 field11792 = 28; |
||||
optional bool field11793 = 37; |
||||
optional .benchmarks.google_message3.Enum11541 field11794 = 44; |
||||
optional double field11795 = 49; |
||||
optional double field11796 = 51; |
||||
optional int64 field11797 = 54; |
||||
optional int64 field11798 = 55; |
||||
optional .benchmarks.google_message3.UnusedEnum field11799 = 57; |
||||
optional .benchmarks.google_message3.Enum11468 field11800 = 58; |
||||
optional int32 field11801 = 59; |
||||
optional .benchmarks.google_message3.UnusedEnum field11802 = 60; |
||||
optional int32 field11803 = 61; |
||||
optional int32 field11804 = 62; |
||||
optional int32 field11805 = 69; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field11806 = 68; |
||||
repeated .benchmarks.google_message3.Message11018 field11807 = 71; |
||||
optional bool field11808 = 50; |
||||
optional bool field11809 = 56; |
||||
optional bool field11810 = 66; |
||||
optional bool field11811 = 63; |
||||
optional bool field11812 = 64; |
||||
optional bool field11813 = 65; |
||||
optional bool field11814 = 67; |
||||
optional .benchmarks.google_message3.Enum11107 field11815 = 15; |
||||
optional int64 field11816 = 16; |
||||
optional double field11817 = 17; |
||||
optional int64 field11818 = 18; |
||||
optional int32 field11819 = 19; |
||||
optional int64 field11820 = 20; |
||||
optional int32 field11821 = 42; |
||||
optional int64 field11822 = 52; |
||||
optional int64 field11823 = 53; |
||||
optional int64 field11824 = 41; |
||||
optional double field11825 = 48; |
||||
repeated .benchmarks.google_message3.Message11020 field11826 = 70; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field11827 = 72; |
||||
optional double field11828 = 25; |
||||
optional string field11829 = 26; |
||||
optional int64 field11830 = 27; |
||||
optional int64 field11831 = 32; |
||||
optional uint64 field11832 = 33; |
||||
optional bool field11833 = 29; |
||||
optional bool field11834 = 34; |
||||
optional string field11835 = 30; |
||||
optional int32 field11836 = 3; |
||||
optional int32 field11837 = 31; |
||||
optional int32 field11838 = 73; |
||||
optional int32 field11839 = 35; |
||||
optional .benchmarks.google_message3.Enum11022 field11840 = 36; |
||||
optional .benchmarks.google_message3.Message11013 field11841 = 38; |
||||
optional double field11842 = 39; |
||||
optional int32 field11843 = 45; |
||||
optional bool field11844 = 74; |
||||
} |
||||
|
||||
message Message10801 { |
||||
optional .benchmarks.google_message3.Message10800 field10812 = 1; |
||||
repeated .benchmarks.google_message3.Message10802 field10813 = 2; |
||||
optional int32 field10814 = 3; |
||||
} |
||||
|
||||
message Message10749 { |
||||
repeated .benchmarks.google_message3.Message10748 field10754 = 1; |
||||
} |
||||
|
||||
message Message8298 { |
||||
optional .benchmarks.google_message3.Message7966 field8321 = 1; |
||||
optional int64 field8322 = 2; |
||||
optional string field8323 = 3; |
||||
} |
||||
|
||||
message Message8300 { |
||||
optional string field8326 = 1; |
||||
optional .benchmarks.google_message3.Message7966 field8327 = 2; |
||||
} |
||||
|
||||
message Message8291 { |
||||
optional string field8306 = 1; |
||||
optional int32 field8307 = 2; |
||||
optional string field8308 = 3; |
||||
optional string field8309 = 4; |
||||
optional .benchmarks.google_message3.Enum8292 field8310 = 5; |
||||
} |
||||
|
||||
message Message8296 { |
||||
optional .benchmarks.google_message3.Message7966 field8311 = 1; |
||||
optional string field8312 = 2; |
||||
optional .benchmarks.google_message3.Message7966 field8313 = 3; |
||||
optional int32 field8314 = 4; |
||||
optional int32 field8315 = 5; |
||||
optional string field8316 = 6; |
||||
} |
||||
|
||||
message Message7965 { |
||||
optional int32 field7967 = 1; |
||||
optional int32 field7968 = 2; |
||||
} |
||||
|
||||
message Message8290 { |
||||
optional string field8304 = 1; |
||||
optional string field8305 = 2; |
||||
} |
||||
|
||||
message Message717 { |
||||
repeated string field876 = 1; |
||||
optional double field877 = 2; |
||||
} |
||||
|
||||
message Message713 { |
||||
required .benchmarks.google_message3.Message708 field852 = 1; |
||||
repeated string field853 = 2; |
||||
} |
||||
|
||||
message Message705 { |
||||
required string field807 = 1; |
||||
optional string field808 = 2; |
||||
optional string field809 = 3; |
||||
optional bool field810 = 4; |
||||
optional string field811 = 5; |
||||
optional string field812 = 6; |
||||
repeated string field813 = 7; |
||||
} |
||||
|
||||
message Message709 { |
||||
repeated string field829 = 1; |
||||
repeated string field830 = 2; |
||||
repeated string field831 = 3; |
||||
repeated string field832 = 4; |
||||
repeated string field833 = 5; |
||||
} |
||||
|
||||
message Message702 { |
||||
optional string field793 = 1; |
||||
optional string field794 = 2; |
||||
} |
||||
|
||||
message Message714 { |
||||
optional string field854 = 1; |
||||
optional string field855 = 2; |
||||
optional string field856 = 3; |
||||
optional string field857 = 4; |
||||
optional uint32 field858 = 5; |
||||
} |
||||
|
||||
message Message710 { |
||||
repeated string field834 = 1; |
||||
optional string field835 = 2; |
||||
optional string field836 = 3; |
||||
repeated string field837 = 4; |
||||
repeated string field838 = 5; |
||||
} |
||||
|
||||
message Message706 { |
||||
repeated string field814 = 1; |
||||
optional string field815 = 2; |
||||
repeated string field816 = 3; |
||||
repeated string field817 = 4; |
||||
} |
||||
|
||||
message Message707 { |
||||
required string field818 = 1; |
||||
required string field819 = 2; |
||||
required string field820 = 3; |
||||
optional bool field821 = 4; |
||||
repeated string field822 = 5; |
||||
} |
||||
|
||||
message Message711 { |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field839 = 1; |
||||
repeated string field840 = 4; |
||||
repeated string field841 = 2; |
||||
repeated string field842 = 3; |
||||
} |
||||
|
||||
message Message712 { |
||||
repeated string field843 = 1; |
||||
required string field844 = 2; |
||||
optional string field845 = 3; |
||||
repeated string field846 = 4; |
||||
repeated string field847 = 5; |
||||
optional string field848 = 6; |
||||
repeated string field849 = 7; |
||||
optional string field850 = 8; |
||||
optional string field851 = 9; |
||||
} |
||||
|
||||
message Message8939 { |
||||
optional string field9010 = 1; |
||||
optional string field9011 = 2; |
||||
optional string field9012 = 3; |
||||
repeated string field9013 = 4; |
||||
optional string field9014 = 5; |
||||
repeated group Message8940 = 11 {} |
||||
optional int64 field9016 = 21; |
||||
optional int64 field9017 = 22; |
||||
optional int64 field9018 = 23; |
||||
optional group Message8941 = 31 { |
||||
optional string field9033 = 32; |
||||
optional string field9034 = 33; |
||||
optional string field9035 = 34; |
||||
optional string field9036 = 35; |
||||
optional string field9037 = 36; |
||||
optional string field9038 = 37; |
||||
} |
||||
optional .benchmarks.google_message3.Message8942 field9020 = 38; |
||||
repeated .benchmarks.google_message3.UnusedEmptyMessage field9021 = 39; |
||||
repeated string field9022 = 41; |
||||
optional string field9023 = 42; |
||||
optional string field9024 = 43; |
||||
optional string field9025 = 44; |
||||
optional string field9026 = 45; |
||||
optional string field9027 = 46; |
||||
optional string field9028 = 47; |
||||
optional .benchmarks.google_message3.UnusedEnum field9029 = 48; |
||||
optional .benchmarks.google_message3.UnusedEnum field9030 = 49; |
||||
optional group Message8943 = 51 { |
||||
optional string field9039 = 1; |
||||
optional string field9040 = 2; |
||||
optional string field9041 = 3; |
||||
optional string field9042 = 4; |
||||
optional string field9043 = 5; |
||||
optional string field9044 = 6; |
||||
} |
||||
} |
||||
|
||||
message Message9181 { |
||||
optional string field9204 = 1; |
||||
} |
||||
|
||||
message Message9164 { |
||||
optional int32 field9168 = 1; |
||||
optional int32 field9169 = 2; |
||||
optional int32 field9170 = 3; |
||||
} |
||||
|
||||
message Message9165 { |
||||
optional float field9171 = 1; |
||||
optional float field9172 = 2; |
||||
} |
||||
|
||||
message Message9166 { |
||||
optional float field9173 = 1; |
||||
optional int32 field9174 = 2; |
||||
} |
||||
|
||||
message Message9151 { |
||||
optional double field9152 = 1; |
||||
optional double field9153 = 2; |
||||
optional float field9154 = 3; |
||||
optional float field9155 = 4; |
||||
optional float field9156 = 5; |
||||
optional float field9157 = 6; |
||||
optional float field9158 = 7; |
||||
optional float field9159 = 8; |
||||
} |
||||
|
||||
message Message8888 { |
||||
optional int32 field8908 = 1; |
||||
optional .benchmarks.google_message3.Enum8900 field8909 = 4; |
||||
repeated int32 field8910 = 2 [packed = true]; |
||||
optional bytes field8911 = 3; |
||||
} |
||||
|
||||
message Message9627 { |
||||
required int32 field9668 = 1; |
||||
required int32 field9669 = 2; |
||||
required int32 field9670 = 3; |
||||
required int32 field9671 = 4; |
||||
optional float field9672 = 5; |
||||
} |
||||
|
||||
message Message11020 {} |
||||
|
||||
message Message11013 { |
||||
optional bytes field11757 = 19; |
||||
optional bytes field11758 = 1; |
||||
optional bytes field11759 = 2; |
||||
optional bytes field11760 = 3; |
||||
optional bytes field11761 = 4; |
||||
optional bytes field11762 = 5; |
||||
optional bytes field11763 = 6; |
||||
optional bytes field11764 = 7; |
||||
optional bytes field11765 = 8; |
||||
optional bytes field11766 = 9; |
||||
optional bytes field11767 = 10; |
||||
optional bytes field11768 = 11; |
||||
optional bytes field11769 = 12; |
||||
optional bytes field11770 = 13; |
||||
optional bytes field11771 = 14; |
||||
optional bytes field11772 = 15; |
||||
optional bytes field11773 = 16; |
||||
optional bytes field11774 = 17; |
||||
optional bytes field11775 = 18; |
||||
optional bytes field11776 = 20; |
||||
optional bytes field11777 = 21; |
||||
optional .benchmarks.google_message3.UnusedEmptyMessage field11778 = 23; |
||||
repeated .benchmarks.google_message3.Message11011 field11779 = 22; |
||||
} |
@ -1,81 +0,0 @@ |
||||
// Protocol Buffers - Google's data interchange format |
||||
// Copyright 2008 Google Inc. All rights reserved. |
||||
// https://developers.google.com/protocol-buffers/ |
||||
// |
||||
// Redistribution and use in source and binary forms, with or without |
||||
// modification, are permitted provided that the following conditions are |
||||
// met: |
||||
// |
||||
// * Redistributions of source code must retain the above copyright |
||||
// notice, this list of conditions and the following disclaimer. |
||||
// * Redistributions in binary form must reproduce the above |
||||
// copyright notice, this list of conditions and the following disclaimer |
||||
// in the documentation and/or other materials provided with the |
||||
// distribution. |
||||
// * Neither the name of Google Inc. nor the names of its |
||||
// contributors may be used to endorse or promote products derived from |
||||
// this software without specific prior written permission. |
||||
// |
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
syntax = "proto2"; |
||||
|
||||
package benchmarks.google_message3; |
||||
|
||||
option cc_enable_arenas = true; |
||||
option java_package = "com.google.protobuf.benchmarks"; |
||||
|
||||
message Message11018 {} |
||||
|
||||
message Message10800 { |
||||
optional string field10808 = 1; |
||||
optional int64 field10809 = 2; |
||||
optional bool field10810 = 3; |
||||
optional float field10811 = 4; |
||||
} |
||||
|
||||
message Message10802 {} |
||||
|
||||
message Message10748 { |
||||
optional string field10750 = 1; |
||||
optional int32 field10751 = 2; |
||||
optional int32 field10752 = 3; |
||||
optional int32 field10753 = 4; |
||||
} |
||||
|
||||
message Message7966 { |
||||
optional string field7969 = 1; |
||||
optional bool field7970 = 2; |
||||
} |
||||
|
||||
message Message708 { |
||||
optional .benchmarks.google_message3.Message741 field823 = 1; |
||||
repeated string field824 = 6; |
||||
optional string field825 = 2; |
||||
optional string field826 = 3; |
||||
repeated string field827 = 4; |
||||
repeated string field828 = 5; |
||||
} |
||||
|
||||
message Message8942 {} |
||||
|
||||
message Message11011 { |
||||
required bytes field11752 = 1; |
||||
required bytes field11753 = 2; |
||||
} |
||||
|
||||
message UnusedEmptyMessage {} |
||||
|
||||
message Message741 { |
||||
repeated string field936 = 1; |
||||
} |
File diff suppressed because it is too large
Load Diff
@ -1,79 +0,0 @@ |
||||
load("@rules_cc//cc:defs.bzl", "cc_proto_library") |
||||
load("@rules_java//java:defs.bzl", "java_proto_library") |
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix") |
||||
load("@rules_proto//proto:defs.bzl", "proto_library") |
||||
load("//:protobuf.bzl", "internal_csharp_proto_library", "internal_py_proto_library") |
||||
|
||||
filegroup( |
||||
name = "datasets", |
||||
srcs = [], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
proto_library( |
||||
name = "benchmark_message4_proto", |
||||
srcs = [ |
||||
"benchmark_message4.proto", |
||||
"benchmark_message4_1.proto", |
||||
"benchmark_message4_2.proto", |
||||
"benchmark_message4_3.proto", |
||||
], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
cc_proto_library( |
||||
name = "benchmark_message4_cc_proto", |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
deps = [ |
||||
"benchmark_message4_proto", |
||||
], |
||||
) |
||||
|
||||
internal_csharp_proto_library( |
||||
name = "benchmark_message4_csharp_proto", |
||||
srcs = [ |
||||
"benchmark_message4.proto", |
||||
"benchmark_message4_1.proto", |
||||
"benchmark_message4_2.proto", |
||||
"benchmark_message4_3.proto", |
||||
], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
java_proto_library( |
||||
name = "benchmark_message4_java_proto", |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
deps = [ |
||||
"benchmark_message4_proto", |
||||
], |
||||
) |
||||
|
||||
internal_py_proto_library( |
||||
name = "benchmark_message4_py_proto", |
||||
srcs = [ |
||||
"benchmark_message4.proto", |
||||
"benchmark_message4_1.proto", |
||||
"benchmark_message4_2.proto", |
||||
"benchmark_message4_3.proto", |
||||
], |
||||
visibility = [ |
||||
"//benchmarks/datasets:__pkg__", |
||||
], |
||||
) |
||||
|
||||
pkg_files( |
||||
name = "dist_files", |
||||
srcs = glob(["*"]), |
||||
strip_prefix = strip_prefix.from_root(""), |
||||
visibility = ["//benchmarks:__pkg__"], |
||||
) |
@ -1,484 +0,0 @@ |
||||
// Protocol Buffers - Google's data interchange format |
||||
// Copyright 2008 Google Inc. All rights reserved. |
||||
// https://developers.google.com/protocol-buffers/ |
||||
// |
||||
// Redistribution and use in source and binary forms, with or without |
||||
// modification, are permitted provided that the following conditions are |
||||
// met: |
||||
// |
||||
// * Redistributions of source code must retain the above copyright |
||||
// notice, this list of conditions and the following disclaimer. |
||||
// * Redistributions in binary form must reproduce the above |
||||
// copyright notice, this list of conditions and the following disclaimer |
||||
// in the documentation and/or other materials provided with the |
||||
// distribution. |
||||
// * Neither the name of Google Inc. nor the names of its |
||||
// contributors may be used to endorse or promote products derived from |
||||
// this software without specific prior written permission. |
||||
// |
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
// LINT: ALLOW_GROUPS |
||||
|
||||
syntax = "proto2"; |
||||
|
||||
package benchmarks.google_message4; |
||||
|
||||
import "benchmarks/datasets/google_message4/benchmark_message4_1.proto"; |
||||
import "benchmarks/datasets/google_message4/benchmark_message4_2.proto"; |
||||
import "benchmarks/datasets/google_message4/benchmark_message4_3.proto"; |
||||
|
||||
option cc_enable_arenas = true; |
||||
option java_package = "com.google.protobuf.benchmarks"; |
||||
|
||||
message GoogleMessage4 { |
||||
optional int32 field37503 = 1; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37504 = 2; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37505 = 3; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37506 = 4; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37507 = 5; |
||||
optional .benchmarks.google_message4.Message37489 field37508 = 6; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37509 = 7; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37510 = 8; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37511 = 9; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37512 = 10; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37513 = 11; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37514 = 12; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37515 = 13; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37516 = 14; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37517 = 15; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37518 = 16; |
||||
} |
||||
|
||||
message Message37489 { |
||||
optional .benchmarks.google_message4.Message2517 field37534 = 3; |
||||
optional .benchmarks.google_message4.Message7330 field37535 = 4; |
||||
optional .benchmarks.google_message4.Message8815 field37536 = 6; |
||||
optional .benchmarks.google_message4.Message8817 field37537 = 7; |
||||
optional .benchmarks.google_message4.Message8835 field37538 = 8; |
||||
optional .benchmarks.google_message4.Message8848 field37539 = 9; |
||||
optional .benchmarks.google_message4.Message8856 field37540 = 11; |
||||
optional .benchmarks.google_message4.Message12717 field37541 = 15; |
||||
optional .benchmarks.google_message4.Message12748 field37542 = 20; |
||||
optional .benchmarks.google_message4.Message7319 field37543 = 22; |
||||
optional .benchmarks.google_message4.Message12908 field37544 = 24; |
||||
optional .benchmarks.google_message4.Message12910 field37545 = 25; |
||||
optional .benchmarks.google_message4.Message12960 field37546 = 30; |
||||
optional .benchmarks.google_message4.Message176 field37547 = 33; |
||||
optional .benchmarks.google_message4.Message13000 field37548 = 34; |
||||
optional .benchmarks.google_message4.Message13035 field37549 = 35; |
||||
optional .benchmarks.google_message4.Message37331 field37550 = 36; |
||||
optional .benchmarks.google_message4.Message37329 field37551 = 37; |
||||
optional .benchmarks.google_message4.Message37327 field37552 = 38; |
||||
optional .benchmarks.google_message4.Message37333 field37553 = 39; |
||||
optional .benchmarks.google_message4.Message37335 field37554 = 40; |
||||
} |
||||
|
||||
message Message7319 { |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field7321 = 1; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field7322 = 7; |
||||
} |
||||
|
||||
message Message12717 { |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field12719 = 1; |
||||
optional string field12720 = 2; |
||||
optional uint32 field12721 = 3; |
||||
optional .benchmarks.google_message4.Message11976 field12722 = 4; |
||||
repeated .benchmarks.google_message4.Message11948 field12723 = 5; |
||||
optional .benchmarks.google_message4.Message11947 field12724 = 6; |
||||
optional .benchmarks.google_message4.Message12687 field12725 = 7; |
||||
repeated .benchmarks.google_message4.Message11948 field12726 = 8; |
||||
optional int64 field12727 = 9; |
||||
} |
||||
|
||||
message Message37331 { |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37367 = 4; |
||||
required .benchmarks.google_message4.Message37326 field37368 = 1; |
||||
required int64 field37369 = 2; |
||||
required bytes field37370 = 3; |
||||
} |
||||
|
||||
message Message8815 { |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field8819 = 1; |
||||
repeated .benchmarks.google_message4.Message8768 field8820 = 2; |
||||
optional bool field8821 = 3; |
||||
} |
||||
|
||||
message Message7330 { |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field7332 = 1; |
||||
optional .benchmarks.google_message4.Message3069 field7333 = 2; |
||||
optional .benchmarks.google_message4.Message7320 field7334 = 3; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field7335 = 4; |
||||
optional bool field7336 = 5; |
||||
optional int64 field7337 = 6; |
||||
} |
||||
|
||||
message Message12960 { |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field12962 = 1; |
||||
optional .benchmarks.google_message4.Message12948 field12963 = 2; |
||||
} |
||||
|
||||
message Message176 { |
||||
required string field408 = 1; |
||||
optional int32 field409 = 4; |
||||
optional string field410 = 50; |
||||
optional int32 field411 = 2; |
||||
optional uint64 field412 = 47; |
||||
optional string field413 = 56; |
||||
optional int32 field414 = 24; |
||||
optional string field415 = 21; |
||||
optional bytes field416 = 3; |
||||
optional string field417 = 57; |
||||
optional int32 field418 = 51; |
||||
optional float field419 = 7; |
||||
optional bool field420 = 5; |
||||
optional bool field421 = 28; |
||||
optional int32 field422 = 6; |
||||
repeated int32 field423 = 40; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field424 = 41; |
||||
optional bool field425 = 25; |
||||
optional uint64 field426 = 26; |
||||
optional int32 field427 = 38; |
||||
optional bytes field428 = 15; |
||||
optional bytes field429 = 55; |
||||
optional bytes field430 = 16; |
||||
optional bytes field431 = 23; |
||||
optional bool field432 = 33; |
||||
optional bytes field433 = 31; |
||||
optional bytes field434 = 32; |
||||
optional int32 field435 = 36; |
||||
optional uint64 field436 = 17; |
||||
optional int32 field437 = 45; |
||||
optional uint64 field438 = 18; |
||||
optional string field439 = 46; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field440 = 64; |
||||
optional int32 field441 = 39; |
||||
optional uint64 field442 = 48; |
||||
optional bytes field443 = 19; |
||||
optional bytes field444 = 42; |
||||
optional bytes field445 = 43; |
||||
optional string field446 = 44; |
||||
optional string field447 = 49; |
||||
optional int64 field448 = 20; |
||||
optional bool field449 = 53; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field450 = 54; |
||||
repeated .benchmarks.google_message4.UnusedEmptyMessage field451 = 22; |
||||
optional .benchmarks.google_message4.UnusedEnum field452 = 27; |
||||
optional int32 field453 = 29; |
||||
optional int32 field454 = 30; |
||||
optional .benchmarks.google_message4.UnusedEnum field455 = 37; |
||||
optional .benchmarks.google_message4.UnusedEnum field456 = 34; |
||||
optional int32 field457 = 35; |
||||
repeated group Message178 = 101 {} |
||||
optional bool field459 = 52; |
||||
optional uint64 field460 = 58; |
||||
optional uint64 field461 = 59; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field462 = 60; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field463 = 61; |
||||
optional .benchmarks.google_message4.UnusedEnum field464 = 62; |
||||
repeated string field465 = 63; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field466 = 65; |
||||
} |
||||
|
||||
message Message8817 { |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field8825 = 1; |
||||
repeated .benchmarks.google_message4.Message8768 field8826 = 2; |
||||
optional string field8827 = 3; |
||||
} |
||||
|
||||
message Message8835 { |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field8837 = 1; |
||||
repeated string field8838 = 2; |
||||
optional .benchmarks.google_message4.UnusedEnum field8839 = 3; |
||||
} |
||||
|
||||
message Message37333 { |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37372 = 3; |
||||
required .benchmarks.google_message4.Message37326 field37373 = 1; |
||||
optional uint64 field37374 = 2; |
||||
} |
||||
|
||||
message Message13000 { |
||||
optional int64 field13015 = 1; |
||||
repeated .benchmarks.google_message4.Message12979 field13016 = 2; |
||||
} |
||||
|
||||
message Message37335 { |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37376 = 4; |
||||
required .benchmarks.google_message4.Message37326 field37377 = 1; |
||||
required .benchmarks.google_message4.Message37173 field37378 = 2; |
||||
optional uint64 field37379 = 3; |
||||
} |
||||
|
||||
message Message8848 { |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field8850 = 1; |
||||
optional string field8851 = 2; |
||||
optional bytes field8852 = 3; |
||||
} |
||||
|
||||
message Message13035 { |
||||
optional int64 field13058 = 1; |
||||
repeated int64 field13059 = 2; |
||||
} |
||||
|
||||
message Message8856 { |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field8858 = 1; |
||||
optional string field8859 = 2; |
||||
} |
||||
|
||||
message Message12908 { |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field12912 = 1; |
||||
optional string field12913 = 2; |
||||
optional .benchmarks.google_message4.Message12799 field12914 = 3; |
||||
optional int64 field12915 = 4; |
||||
optional .benchmarks.google_message4.Message3804 field12916 = 5; |
||||
optional .benchmarks.google_message4.Message12870 field12917 = 6; |
||||
} |
||||
|
||||
message Message12910 { |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field12920 = 1; |
||||
optional .benchmarks.google_message4.Message12818 field12921 = 2; |
||||
repeated .benchmarks.google_message4.Message12903 field12922 = 3; |
||||
} |
||||
|
||||
message Message37327 { |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37347 = 11; |
||||
required .benchmarks.google_message4.Message37326 field37348 = 1; |
||||
optional bool field37349 = 2; |
||||
optional bool field37350 = 3; |
||||
optional bool field37351 = 4; |
||||
optional bool field37352 = 5; |
||||
optional bool field37353 = 6; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37354 = 7; |
||||
optional uint64 field37355 = 8; |
||||
optional bool field37356 = 9; |
||||
optional bool field37357 = 10; |
||||
} |
||||
|
||||
message Message37329 { |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37359 = 6; |
||||
required .benchmarks.google_message4.Message37326 field37360 = 1; |
||||
required int64 field37361 = 2; |
||||
required int64 field37362 = 3; |
||||
optional bool field37363 = 4; |
||||
} |
||||
|
||||
message Message2517 { |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field2519 = 1; |
||||
optional .benchmarks.google_message4.Message2356 field2520 = 2; |
||||
optional .benchmarks.google_message4.Message0 field2521 = 3; |
||||
optional .benchmarks.google_message4.Message2463 field2522 = 4; |
||||
repeated .benchmarks.google_message4.Message971 field2523 = 5; |
||||
} |
||||
|
||||
message Message12748 { |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field12754 = 1; |
||||
optional string field12755 = 2; |
||||
optional string field12756 = 3; |
||||
optional .benchmarks.google_message4.Enum12735 field12757 = 4; |
||||
} |
||||
|
||||
message Message12687 { |
||||
repeated .benchmarks.google_message4.Message12686 field12701 = 1; |
||||
} |
||||
|
||||
message Message11948 { |
||||
optional string field11954 = 1; |
||||
repeated .benchmarks.google_message4.Message11949 field11955 = 2; |
||||
optional bool field11956 = 3; |
||||
} |
||||
|
||||
message Message11976 { |
||||
repeated .benchmarks.google_message4.Message11975 field12002 = 1; |
||||
} |
||||
|
||||
message Message7320 { |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field7323 = 1; |
||||
optional .benchmarks.google_message4.Message7287 field7324 = 8; |
||||
} |
||||
|
||||
message Message3069 { |
||||
optional .benchmarks.google_message4.Message3061 field3374 = 1; |
||||
optional bytes field3375 = 2; |
||||
repeated group Message3070 = 3 { |
||||
required .benchmarks.google_message4.Enum3071 field3378 = 4; |
||||
required bytes field3379 = 5; |
||||
} |
||||
extensions 10000 to 536870911; |
||||
} |
||||
|
||||
message Message12948 { |
||||
repeated .benchmarks.google_message4.Message12949 field12958 = 1; |
||||
} |
||||
|
||||
message Message8768 { |
||||
optional string field8782 = 1; |
||||
optional .benchmarks.google_message4.Message8572 field8783 = 2; |
||||
optional bool field8784 = 3; |
||||
repeated .benchmarks.google_message4.Message8774 field8785 = 4; |
||||
optional int64 field8786 = 5; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field8787 = 6; |
||||
optional string field8788 = 7; |
||||
} |
||||
|
||||
message Message12979 { |
||||
required bytes field12981 = 1; |
||||
repeated string field12982 = 2; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field12983 = 3; |
||||
optional int64 field12984 = 4; |
||||
optional string field12985 = 5; |
||||
optional int32 field12986 = 6; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field12987 = 7; |
||||
} |
||||
|
||||
message Message37173 { |
||||
optional string field37252 = 1; |
||||
optional int64 field37253 = 2; |
||||
optional .benchmarks.google_message4.UnusedEnum field37254 = 4; |
||||
optional bool field37255 = 5; |
||||
optional bool field37256 = 6; |
||||
optional bool field37257 = 7; |
||||
optional string field37258 = 8; |
||||
optional string field37259 = 9; |
||||
optional uint32 field37260 = 10; |
||||
optional fixed32 field37261 = 11; |
||||
optional string field37262 = 12; |
||||
optional string field37263 = 13; |
||||
optional string field37264 = 14; |
||||
optional int32 field37265 = 15; |
||||
optional int64 field37266 = 16; |
||||
optional int64 field37267 = 17; |
||||
optional int32 field37268 = 18; |
||||
optional int32 field37269 = 19; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37270 = 20; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37271 = 21; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37272 = 22; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37273 = 23; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field37274 = 24; |
||||
optional string field37275 = 25; |
||||
optional bool field37276 = 26; |
||||
} |
||||
|
||||
message Message12799 { |
||||
required string field12809 = 1; |
||||
repeated fixed64 field12810 = 2; |
||||
repeated .benchmarks.google_message4.Message12776 field12811 = 8; |
||||
repeated int32 field12812 = 4; |
||||
repeated .benchmarks.google_message4.Message12798 field12813 = 5; |
||||
required int32 field12814 = 3; |
||||
optional int32 field12815 = 6; |
||||
optional .benchmarks.google_message4.Message12797 field12816 = 7; |
||||
} |
||||
|
||||
message Message12870 { |
||||
required int32 field12879 = 1; |
||||
optional int32 field12880 = 7; |
||||
required int32 field12881 = 2; |
||||
optional uint64 field12882 = 3; |
||||
optional string field12883 = 2001; |
||||
optional fixed64 field12884 = 4; |
||||
repeated fixed64 field12885 = 14; |
||||
optional int32 field12886 = 9; |
||||
optional int64 field12887 = 18; |
||||
repeated .benchmarks.google_message4.Message12870 field12888 = 8; |
||||
optional int32 field12889 = 5; |
||||
optional uint64 field12890 = 6; |
||||
optional int32 field12891 = 10; |
||||
optional int32 field12892 = 11; |
||||
optional double field12893 = 12; |
||||
optional .benchmarks.google_message4.Message12825 field12894 = 13; |
||||
optional double field12895 = 15; |
||||
optional string field12896 = 16; |
||||
optional .benchmarks.google_message4.Enum12871 field12897 = 17; |
||||
optional int32 field12898 = 19; |
||||
} |
||||
|
||||
message Message3804 { |
||||
required int64 field3818 = 1; |
||||
required bool field3819 = 2; |
||||
repeated .benchmarks.google_message4.Enum3805 field3820 = 4; |
||||
optional int32 field3821 = 5; |
||||
optional bool field3822 = 6; |
||||
optional int64 field3823 = 7; |
||||
optional .benchmarks.google_message4.Enum3783 field3824 = 8; |
||||
} |
||||
|
||||
message Message12903 { |
||||
optional string field12905 = 1; |
||||
optional .benchmarks.google_message4.Message8587 field12906 = 2; |
||||
repeated .benchmarks.google_message4.Message8590 field12907 = 3; |
||||
} |
||||
|
||||
message Message37326 { |
||||
required string field37345 = 1; |
||||
optional string field37346 = 2; |
||||
} |
||||
|
||||
message Message2356 { |
||||
optional .benchmarks.google_message4.Message1374 field2368 = 121; |
||||
optional uint64 field2369 = 1; |
||||
optional int32 field2370 = 2; |
||||
optional int32 field2371 = 17; |
||||
required string field2372 = 3; |
||||
optional int32 field2373 = 7; |
||||
optional bytes field2374 = 8; |
||||
optional string field2375 = 4; |
||||
optional string field2376 = 101; |
||||
optional int32 field2377 = 102; |
||||
optional int32 field2378 = 103; |
||||
optional int32 field2379 = 104; |
||||
optional int32 field2380 = 113; |
||||
optional int32 field2381 = 114; |
||||
optional int32 field2382 = 115; |
||||
optional int32 field2383 = 117; |
||||
optional int32 field2384 = 118; |
||||
optional int32 field2385 = 119; |
||||
optional int32 field2386 = 105; |
||||
optional bytes field2387 = 5; |
||||
optional group Message2357 = 6 { |
||||
optional int64 field2399 = 9; |
||||
optional int32 field2400 = 10; |
||||
optional int32 field2401 = 11; |
||||
optional int32 field2402 = 12; |
||||
optional int32 field2403 = 13; |
||||
optional int32 field2404 = 116; |
||||
optional int32 field2405 = 106; |
||||
required bytes field2406 = 14; |
||||
optional int32 field2407 = 45; |
||||
optional int32 field2408 = 112; |
||||
optional bool field2409 = 122; |
||||
optional bytes field2410 = 124; |
||||
} |
||||
optional string field2389 = 120; |
||||
optional group Message2358 = 107 {} |
||||
repeated group Message2359 = 40 {} |
||||
optional int32 field2392 = 50; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field2393 = 60; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field2394 = 70; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field2395 = 80; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field2396 = 90; |
||||
optional string field2397 = 100; |
||||
optional string field2398 = 123; |
||||
} |
||||
|
||||
message Message0 { |
||||
option message_set_wire_format = true; |
||||
|
||||
extensions 4 to 2147483646; |
||||
} |
||||
|
||||
message Message971 { |
||||
optional string field972 = 1; |
||||
optional int32 field973 = 2; |
||||
optional bool field974 = 3; |
||||
} |
@ -1,500 +0,0 @@ |
||||
// Protocol Buffers - Google's data interchange format |
||||
// Copyright 2008 Google Inc. All rights reserved. |
||||
// https://developers.google.com/protocol-buffers/ |
||||
// |
||||
// Redistribution and use in source and binary forms, with or without |
||||
// modification, are permitted provided that the following conditions are |
||||
// met: |
||||
// |
||||
// * Redistributions of source code must retain the above copyright |
||||
// notice, this list of conditions and the following disclaimer. |
||||
// * Redistributions in binary form must reproduce the above |
||||
// copyright notice, this list of conditions and the following disclaimer |
||||
// in the documentation and/or other materials provided with the |
||||
// distribution. |
||||
// * Neither the name of Google Inc. nor the names of its |
||||
// contributors may be used to endorse or promote products derived from |
||||
// this software without specific prior written permission. |
||||
// |
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
// LINT: ALLOW_GROUPS |
||||
|
||||
syntax = "proto2"; |
||||
|
||||
package benchmarks.google_message4; |
||||
|
||||
import "benchmarks/datasets/google_message4/benchmark_message4_2.proto"; |
||||
import "benchmarks/datasets/google_message4/benchmark_message4_3.proto"; |
||||
|
||||
option cc_enable_arenas = true; |
||||
option java_package = "com.google.protobuf.benchmarks"; |
||||
|
||||
message Message2463 { |
||||
repeated .benchmarks.google_message4.Message2462 field2498 = 1; |
||||
} |
||||
|
||||
message Message12686 { |
||||
optional string field12699 = 1; |
||||
optional .benchmarks.google_message4.Message12685 field12700 = 2; |
||||
} |
||||
|
||||
message Message11949 {} |
||||
|
||||
message Message11975 { |
||||
optional string field11992 = 1; |
||||
optional int32 field11993 = 2; |
||||
repeated .benchmarks.google_message4.Message10320 field11994 = 3; |
||||
optional .benchmarks.google_message4.Message11947 field11995 = 4; |
||||
optional .benchmarks.google_message4.Message11920 field11996 = 5; |
||||
optional bool field11997 = 6; |
||||
repeated string field11998 = 7; |
||||
optional float field11999 = 8; |
||||
repeated .benchmarks.google_message4.UnusedEnum field12000 = 9; |
||||
optional int32 field12001 = 11; |
||||
} |
||||
|
||||
message Message7287 { |
||||
optional .benchmarks.google_message4.Message6133 field7311 = 1; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field7312 = 8; |
||||
optional string field7313 = 3; |
||||
optional .benchmarks.google_message4.Message6643 field7314 = 4; |
||||
optional .benchmarks.google_message4.Enum7288 field7315 = 5; |
||||
optional bytes field7316 = 6; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field7317 = 7; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field7318 = 9; |
||||
} |
||||
|
||||
message Message3061 { |
||||
optional string field3286 = 2; |
||||
optional int32 field3287 = 77; |
||||
optional string field3288 = 49; |
||||
required .benchmarks.google_message4.Message3046 field3289 = 3; |
||||
optional .benchmarks.google_message4.Message3046 field3290 = 58; |
||||
optional group Message3062 = 4 { |
||||
required int32 field3335 = 5; |
||||
optional int32 field3336 = 6; |
||||
optional int32 field3337 = 7; |
||||
} |
||||
optional .benchmarks.google_message4.Message3060 field3292 = 104; |
||||
optional int64 field3293 = 32; |
||||
optional int32 field3294 = 41; |
||||
optional group Message3063 = 13 { |
||||
required int32 field3338 = 14; |
||||
optional .benchmarks.google_message4.Enum2851 field3339 = 18; |
||||
optional int64 field3340 = 15; |
||||
optional int64 field3341 = 23; |
||||
} |
||||
optional .benchmarks.google_message4.Enum2834 field3296 = 94; |
||||
optional bool field3297 = 25; |
||||
optional bool field3298 = 50; |
||||
optional string field3299 = 89; |
||||
optional string field3300 = 91; |
||||
optional string field3301 = 105; |
||||
optional .benchmarks.google_message4.Message3050 field3302 = 53; |
||||
optional fixed64 field3303 = 51; |
||||
optional fixed64 field3304 = 106; |
||||
optional int32 field3305 = 60; |
||||
optional string field3306 = 44; |
||||
optional bytes field3307 = 81; |
||||
optional string field3308 = 70; |
||||
optional bytes field3309 = 45; |
||||
optional .benchmarks.google_message4.Enum2806 field3310 = 71; |
||||
optional int32 field3311 = 72; |
||||
optional bytes field3312 = 78; |
||||
optional int32 field3313 = 20; |
||||
repeated group Message3064 = 8 { |
||||
required .benchmarks.google_message4.Enum2602 field3342 = 9; |
||||
optional int32 field3343 = 92; |
||||
optional string field3344 = 10; |
||||
optional bytes field3345 = 11; |
||||
optional int32 field3346 = 12; |
||||
optional .benchmarks.google_message4.Message3060 field3347 = 98; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field3348 = 82; |
||||
optional .benchmarks.google_message4.Message3050 field3349 = 80; |
||||
optional fixed64 field3350 = 52; |
||||
optional int32 field3351 = 33; |
||||
optional string field3352 = 42; |
||||
optional string field3353 = 69; |
||||
optional bytes field3354 = 43; |
||||
optional .benchmarks.google_message4.Enum2806 field3355 = 73; |
||||
optional int32 field3356 = 74; |
||||
optional int32 field3357 = 90; |
||||
optional bytes field3358 = 79; |
||||
optional int32 field3359 = 19; |
||||
optional .benchmarks.google_message4.Enum2834 field3360 = 95; |
||||
} |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field3315 = 39; |
||||
optional int32 field3316 = 76; |
||||
optional group Message3065 = 63 {} |
||||
optional .benchmarks.google_message4.Enum2806 field3318 = 54; |
||||
optional int32 field3319 = 46; |
||||
repeated string field3320 = 24; |
||||
optional fixed32 field3321 = 38; |
||||
optional bytes field3322 = 99; |
||||
optional fixed64 field3323 = 1; |
||||
optional fixed64 field3324 = 97; |
||||
repeated .benchmarks.google_message4.Message3040 field3325 = 16; |
||||
repeated .benchmarks.google_message4.Message3041 field3326 = 61; |
||||
optional group Message3066 = 21 { |
||||
optional int32 field3366 = 22; |
||||
optional int32 field3367 = 55; |
||||
optional int32 field3368 = 88; |
||||
optional int32 field3369 = 56; |
||||
optional int32 field3370 = 75; |
||||
optional int32 field3371 = 57; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field3372 = 85; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field3373 = 96; |
||||
} |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field3328 = 47; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field3329 = 48; |
||||
optional fixed64 field3330 = 40; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field3331 = 86; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field3332 = 59; |
||||
optional int32 field3333 = 17; |
||||
} |
||||
|
||||
message Message12949 {} |
||||
|
||||
message Message8572 { |
||||
optional bytes field8647 = 1; |
||||
optional bytes field8648 = 3; |
||||
optional .benchmarks.google_message4.Message3886 field8649 = 4; |
||||
optional .benchmarks.google_message4.Message3919 field8650 = 57; |
||||
optional bool field8651 = 5; |
||||
optional int32 field8652 = 6; |
||||
optional int32 field8653 = 49; |
||||
optional .benchmarks.google_message4.Message7905 field8654 = 7; |
||||
optional int32 field8655 = 10; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field8656 = 11; |
||||
optional bool field8657 = 35; |
||||
optional bytes field8658 = 12; |
||||
optional string field8659 = 14; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field8660 = 13; |
||||
optional bytes field8661 = 15; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field8662 = 17; |
||||
optional int32 field8663 = 18; |
||||
optional int32 field8664 = 19; |
||||
optional bool field8665 = 20; |
||||
optional .benchmarks.google_message4.Enum3476 field8666 = 31; |
||||
optional bool field8667 = 36; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field8668 = 39; |
||||
optional bytes field8669 = 22; |
||||
optional int32 field8670 = 24; |
||||
optional .benchmarks.google_message4.Message3052 field8671 = 25; |
||||
optional bytes field8672 = 26; |
||||
optional bytes field8673 = 28; |
||||
optional int32 field8674 = 29; |
||||
optional bytes field8675 = 30; |
||||
optional bytes field8676 = 32; |
||||
optional string field8677 = 33; |
||||
optional int32 field8678 = 34; |
||||
optional int32 field8679 = 37; |
||||
optional double field8680 = 38; |
||||
optional double field8681 = 42; |
||||
optional .benchmarks.google_message4.Message3922 field8682 = 40; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field8683 = 43; |
||||
optional int64 field8684 = 44; |
||||
optional .benchmarks.google_message4.Message7929 field8685 = 45; |
||||
optional uint64 field8686 = 46; |
||||
optional uint32 field8687 = 48; |
||||
optional .benchmarks.google_message4.Message7843 field8688 = 47; |
||||
optional .benchmarks.google_message4.Message7864 field8689 = 50; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field8690 = 52; |
||||
optional bool field8691 = 58; |
||||
optional bool field8692 = 54; |
||||
optional string field8693 = 55; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field8694 = 41; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field8695 = 53; |
||||
optional .benchmarks.google_message4.Message8575 field8696 = 61; |
||||
} |
||||
|
||||
message Message8774 { |
||||
optional string field8810 = 1; |
||||
optional string field8811 = 2; |
||||
optional string field8812 = 3; |
||||
optional string field8813 = 4; |
||||
optional string field8814 = 5; |
||||
} |
||||
|
||||
message Message12776 { |
||||
optional string field12786 = 1; |
||||
optional fixed64 field12787 = 11; |
||||
optional int32 field12788 = 6; |
||||
optional int32 field12789 = 13; |
||||
optional int32 field12790 = 14; |
||||
optional int32 field12791 = 15; |
||||
optional int32 field12792 = 16; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field12793 = 8; |
||||
optional .benchmarks.google_message4.Message12774 field12794 = 10; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field12795 = 12; |
||||
extensions 2 to 2; |
||||
extensions 3 to 3; |
||||
extensions 4 to 4; |
||||
extensions 5 to 5; |
||||
extensions 7 to 7; |
||||
extensions 9 to 9; |
||||
} |
||||
|
||||
message Message12798 { |
||||
optional int32 field12805 = 1; |
||||
optional int32 field12806 = 2; |
||||
optional .benchmarks.google_message4.Message12774 field12807 = 6; |
||||
optional bool field12808 = 7; |
||||
} |
||||
|
||||
message Message12797 { |
||||
optional .benchmarks.google_message4.Message12796 field12802 = 1; |
||||
repeated .benchmarks.google_message4.Message12796 field12803 = 2; |
||||
optional string field12804 = 3; |
||||
} |
||||
|
||||
message Message12825 { |
||||
repeated .benchmarks.google_message4.Message12818 field12862 = 1; |
||||
optional int32 field12863 = 2; |
||||
optional .benchmarks.google_message4.Message12819 field12864 = 3; |
||||
optional .benchmarks.google_message4.Message12820 field12865 = 4; |
||||
optional int32 field12866 = 5; |
||||
repeated .benchmarks.google_message4.Message12821 field12867 = 6; |
||||
repeated .benchmarks.google_message4.UnusedEmptyMessage field12868 = 7; |
||||
} |
||||
|
||||
message Message8590 {} |
||||
|
||||
message Message8587 {} |
||||
|
||||
message Message1374 { |
||||
required string field1375 = 1; |
||||
optional string field1376 = 2; |
||||
} |
||||
|
||||
message Message2462 { |
||||
required bytes field2496 = 1; |
||||
required double field2497 = 2; |
||||
} |
||||
|
||||
message Message12685 { |
||||
repeated string field12692 = 1; |
||||
repeated string field12693 = 2; |
||||
optional int64 field12694 = 3; |
||||
optional uint32 field12695 = 4; |
||||
repeated string field12696 = 5; |
||||
optional string field12697 = 6; |
||||
optional string field12698 = 7; |
||||
} |
||||
|
||||
message Message10320 { |
||||
optional .benchmarks.google_message4.Enum10335 field10347 = 1; |
||||
repeated .benchmarks.google_message4.Message10319 field10348 = 2; |
||||
optional int32 field10349 = 3; |
||||
optional int32 field10350 = 4; |
||||
optional int32 field10351 = 5; |
||||
optional int32 field10352 = 6; |
||||
optional .benchmarks.google_message4.Enum10337 field10353 = 7; |
||||
} |
||||
|
||||
message Message11947 { |
||||
optional uint32 field11951 = 1; |
||||
optional bool field11952 = 2; |
||||
optional int32 field11953 = 3; |
||||
} |
||||
|
||||
message Message11920 { |
||||
optional .benchmarks.google_message4.Enum11901 field11945 = 1; |
||||
optional .benchmarks.google_message4.UnusedEnum field11946 = 2; |
||||
} |
||||
|
||||
message Message6643 { |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field6683 = 3; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field6684 = 4; |
||||
optional double field6685 = 5; |
||||
optional double field6686 = 6; |
||||
optional int32 field6687 = 1; |
||||
optional int32 field6688 = 2; |
||||
optional double field6689 = 9; |
||||
optional bytes field6690 = 10; |
||||
optional int32 field6691 = 11; |
||||
optional bool field6692 = 12; |
||||
optional bool field6693 = 13; |
||||
optional .benchmarks.google_message4.Message6578 field6694 = 15; |
||||
optional .benchmarks.google_message4.UnusedEnum field6695 = 16; |
||||
optional int64 field6696 = 17; |
||||
repeated .benchmarks.google_message4.UnusedEmptyMessage field6697 = 22; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field6698 = 19; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field6699 = 20; |
||||
optional int32 field6700 = 21; |
||||
} |
||||
|
||||
message Message6133 { |
||||
optional .benchmarks.google_message4.Message4016 field6173 = 12; |
||||
optional double field6174 = 16; |
||||
required string field6175 = 1; |
||||
required string field6176 = 2; |
||||
required string field6177 = 3; |
||||
optional string field6178 = 4; |
||||
optional string field6179 = 8; |
||||
repeated .benchmarks.google_message4.Message6109 field6180 = 5; |
||||
repeated .benchmarks.google_message4.Message5908 field6181 = 13; |
||||
repeated .benchmarks.google_message4.Message6107 field6182 = 7; |
||||
repeated .benchmarks.google_message4.Message6126 field6183 = 9; |
||||
repeated .benchmarks.google_message4.Message6129 field6184 = 15; |
||||
optional int32 field6185 = 10; |
||||
optional int32 field6186 = 11; |
||||
optional .benchmarks.google_message4.Message4016 field6187 = 17; |
||||
optional double field6188 = 14; |
||||
optional double field6189 = 18; |
||||
optional string field6190 = 19; |
||||
optional string field6191 = 20; |
||||
repeated .benchmarks.google_message4.Message5881 field6192 = 21; |
||||
} |
||||
|
||||
message Message6109 { |
||||
optional string field6140 = 1; |
||||
required .benchmarks.google_message4.Enum6111 field6141 = 2; |
||||
optional int32 field6142 = 9; |
||||
optional string field6143 = 3; |
||||
repeated .benchmarks.google_message4.Message6110 field6144 = 4; |
||||
repeated int32 field6145 = 7; |
||||
repeated int32 field6146 = 8; |
||||
optional .benchmarks.google_message4.Message6133 field6147 = 10; |
||||
repeated int32 field6148 = 11; |
||||
optional string field6149 = 12; |
||||
optional string field6150 = 13; |
||||
optional bool field6151 = 14; |
||||
extensions 1000 to 536870911; |
||||
} |
||||
|
||||
message Message3046 { |
||||
required .benchmarks.google_message4.Enum2593 field3222 = 1; |
||||
optional int32 field3223 = 4; |
||||
} |
||||
|
||||
message Message3060 { |
||||
optional int64 field3283 = 1; |
||||
optional int64 field3284 = 2; |
||||
optional int64 field3285 = 3; |
||||
} |
||||
|
||||
message Message3041 { |
||||
optional string field3214 = 1; |
||||
optional int32 field3215 = 2; |
||||
} |
||||
|
||||
message Message3040 { |
||||
required fixed64 field3209 = 1; |
||||
repeated fixed64 field3210 = 4; |
||||
optional int32 field3211 = 5; |
||||
optional fixed64 field3212 = 2; |
||||
required string field3213 = 3; |
||||
} |
||||
|
||||
message Message3050 { |
||||
optional bytes field3245 = 5; |
||||
optional int32 field3246 = 2; |
||||
optional bytes field3247 = 6; |
||||
optional int32 field3248 = 4; |
||||
optional fixed32 field3249 = 1; |
||||
optional fixed32 field3250 = 3; |
||||
} |
||||
|
||||
message Message7905 { |
||||
optional int32 field7911 = 1; |
||||
optional bool field7912 = 2; |
||||
optional bytes field7913 = 3; |
||||
optional int32 field7914 = 4; |
||||
optional int32 field7915 = 5; |
||||
optional bytes field7916 = 6; |
||||
optional int32 field7917 = 7; |
||||
} |
||||
|
||||
message Message3886 { |
||||
repeated group Message3887 = 1 { |
||||
required string field3932 = 2; |
||||
optional string field3933 = 9; |
||||
optional .benchmarks.google_message4.Message3850 field3934 = 3; |
||||
optional bytes field3935 = 8; |
||||
} |
||||
} |
||||
|
||||
message Message7864 { |
||||
optional string field7866 = 1; |
||||
optional string field7867 = 2; |
||||
repeated .benchmarks.google_message4.Message7865 field7868 = 5; |
||||
repeated .benchmarks.google_message4.Message7865 field7869 = 6; |
||||
repeated .benchmarks.google_message4.Message7865 field7870 = 7; |
||||
repeated .benchmarks.google_message4.UnusedEmptyMessage field7871 = 8; |
||||
} |
||||
|
||||
message Message3922 { |
||||
optional uint64 field4012 = 1; |
||||
} |
||||
|
||||
message Message3052 { |
||||
repeated string field3254 = 1; |
||||
repeated string field3255 = 2; |
||||
repeated bytes field3256 = 3; |
||||
repeated string field3257 = 4; |
||||
optional bool field3258 = 5; |
||||
optional int32 field3259 = 6; |
||||
optional int32 field3260 = 7; |
||||
optional string field3261 = 8; |
||||
optional string field3262 = 9; |
||||
} |
||||
|
||||
message Message8575 {} |
||||
|
||||
message Message7843 { |
||||
optional bool field7844 = 5; |
||||
optional int32 field7845 = 1; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field7846 = 22; |
||||
repeated int32 field7847 = 3; |
||||
repeated string field7848 = 11; |
||||
optional .benchmarks.google_message4.UnusedEnum field7849 = 15; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field7850 = 6; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field7851 = 14; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field7852 = 10; |
||||
optional .benchmarks.google_message4.Message7511 field7853 = 13; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field7854 = 16; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field7855 = 17; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field7856 = 19; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field7857 = 18; |
||||
optional .benchmarks.google_message4.UnusedEnum field7858 = 20; |
||||
optional int32 field7859 = 2; |
||||
} |
||||
|
||||
message Message3919 { |
||||
repeated .benchmarks.google_message4.Message3920 field4009 = 1; |
||||
} |
||||
|
||||
message Message7929 { |
||||
optional int64 field7942 = 1; |
||||
optional int64 field7943 = 4; |
||||
optional int64 field7944 = 5; |
||||
optional int64 field7945 = 12; |
||||
optional int64 field7946 = 13; |
||||
optional int64 field7947 = 18; |
||||
optional int64 field7948 = 6; |
||||
optional int64 field7949 = 7; |
||||
repeated .benchmarks.google_message4.Message7919 field7950 = 8; |
||||
repeated .benchmarks.google_message4.UnusedEmptyMessage field7951 = 20; |
||||
repeated .benchmarks.google_message4.Message7920 field7952 = 14; |
||||
repeated .benchmarks.google_message4.Message7921 field7953 = 15; |
||||
repeated .benchmarks.google_message4.Message7928 field7954 = 17; |
||||
optional int64 field7955 = 19; |
||||
optional bool field7956 = 2; |
||||
optional int64 field7957 = 3; |
||||
optional int64 field7958 = 9; |
||||
repeated .benchmarks.google_message4.UnusedEmptyMessage field7959 = 10; |
||||
repeated bytes field7960 = 11; |
||||
optional int64 field7961 = 16; |
||||
} |
@ -1,316 +0,0 @@ |
||||
// Protocol Buffers - Google's data interchange format |
||||
// Copyright 2008 Google Inc. All rights reserved. |
||||
// https://developers.google.com/protocol-buffers/ |
||||
// |
||||
// Redistribution and use in source and binary forms, with or without |
||||
// modification, are permitted provided that the following conditions are |
||||
// met: |
||||
// |
||||
// * Redistributions of source code must retain the above copyright |
||||
// notice, this list of conditions and the following disclaimer. |
||||
// * Redistributions in binary form must reproduce the above |
||||
// copyright notice, this list of conditions and the following disclaimer |
||||
// in the documentation and/or other materials provided with the |
||||
// distribution. |
||||
// * Neither the name of Google Inc. nor the names of its |
||||
// contributors may be used to endorse or promote products derived from |
||||
// this software without specific prior written permission. |
||||
// |
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
syntax = "proto2"; |
||||
|
||||
package benchmarks.google_message4; |
||||
|
||||
import "benchmarks/datasets/google_message4/benchmark_message4_3.proto"; |
||||
|
||||
option cc_enable_arenas = true; |
||||
option java_package = "com.google.protobuf.benchmarks"; |
||||
|
||||
message Message12774 { |
||||
optional uint32 field12777 = 1; |
||||
optional uint32 field12778 = 2; |
||||
optional uint32 field12779 = 3; |
||||
optional uint32 field12780 = 4; |
||||
optional uint32 field12781 = 5; |
||||
optional bool field12782 = 6; |
||||
} |
||||
|
||||
message Message12796 { |
||||
repeated fixed64 field12800 = 1; |
||||
optional uint64 field12801 = 2; |
||||
} |
||||
|
||||
message Message12821 { |
||||
optional int32 field12848 = 1; |
||||
optional int32 field12849 = 2; |
||||
optional int32 field12850 = 3; |
||||
optional int32 field12851 = 4; |
||||
optional int32 field12852 = 5; |
||||
} |
||||
|
||||
message Message12820 { |
||||
optional int32 field12840 = 1; |
||||
optional int32 field12841 = 2; |
||||
optional int32 field12842 = 3; |
||||
optional int32 field12843 = 8; |
||||
optional int32 field12844 = 4; |
||||
optional int32 field12845 = 5; |
||||
optional int32 field12846 = 6; |
||||
optional int32 field12847 = 7; |
||||
} |
||||
|
||||
message Message12819 { |
||||
optional double field12834 = 1; |
||||
optional double field12835 = 2; |
||||
optional double field12836 = 3; |
||||
optional double field12837 = 4; |
||||
optional double field12838 = 5; |
||||
optional double field12839 = 6; |
||||
} |
||||
|
||||
message Message12818 { |
||||
optional uint64 field12829 = 1; |
||||
optional int32 field12830 = 2; |
||||
optional int32 field12831 = 3; |
||||
optional int32 field12832 = 5; |
||||
repeated .benchmarks.google_message4.Message12817 field12833 = 4; |
||||
} |
||||
|
||||
message Message10319 { |
||||
optional .benchmarks.google_message4.Enum10325 field10340 = 1; |
||||
optional int32 field10341 = 4; |
||||
optional int32 field10342 = 5; |
||||
optional bytes field10343 = 3; |
||||
optional string field10344 = 2; |
||||
optional string field10345 = 6; |
||||
optional string field10346 = 7; |
||||
} |
||||
|
||||
message Message6578 { |
||||
optional .benchmarks.google_message4.Enum6579 field6632 = 1; |
||||
optional .benchmarks.google_message4.Enum6588 field6633 = 2; |
||||
} |
||||
|
||||
message Message6126 { |
||||
required string field6152 = 1; |
||||
repeated .benchmarks.google_message4.Message6127 field6153 = 9; |
||||
optional int32 field6154 = 14; |
||||
optional bytes field6155 = 10; |
||||
optional .benchmarks.google_message4.Message6024 field6156 = 12; |
||||
optional int32 field6157 = 4; |
||||
optional string field6158 = 5; |
||||
optional int32 field6159 = 6; |
||||
repeated int32 field6160 = 2; |
||||
repeated int32 field6161 = 3; |
||||
repeated .benchmarks.google_message4.Message6052 field6162 = 7; |
||||
repeated .benchmarks.google_message4.UnusedEmptyMessage field6163 = 11; |
||||
optional .benchmarks.google_message4.Enum6065 field6164 = 15; |
||||
repeated .benchmarks.google_message4.Message6127 field6165 = 8; |
||||
optional bool field6166 = 13; |
||||
optional bool field6167 = 16; |
||||
optional bool field6168 = 18; |
||||
repeated .benchmarks.google_message4.Message6054 field6169 = 17; |
||||
optional int32 field6170 = 19; |
||||
} |
||||
|
||||
message Message5881 { |
||||
required double field5897 = 1; |
||||
optional string field5898 = 5; |
||||
optional .benchmarks.google_message4.Message5861 field5899 = 2; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field5900 = 3; |
||||
optional .benchmarks.google_message4.Message5867 field5901 = 4; |
||||
optional .benchmarks.google_message4.Message5880 field5902 = 6; |
||||
} |
||||
|
||||
message Message6110 {} |
||||
|
||||
message Message6107 { |
||||
optional .benchmarks.google_message4.Message4016 field6134 = 1; |
||||
optional int32 field6135 = 2; |
||||
optional string field6136 = 3; |
||||
repeated int32 field6137 = 4; |
||||
optional int32 field6138 = 5; |
||||
repeated .benchmarks.google_message4.Message6108 field6139 = 6; |
||||
} |
||||
|
||||
message Message6129 { |
||||
required .benchmarks.google_message4.Enum6130 field6171 = 1; |
||||
required string field6172 = 2; |
||||
} |
||||
|
||||
message Message5908 { |
||||
optional string field5971 = 1; |
||||
optional int32 field5972 = 2; |
||||
optional int32 field5973 = 3; |
||||
optional .benchmarks.google_message4.Enum5909 field5974 = 45; |
||||
optional .benchmarks.google_message4.Enum5912 field5975 = 4; |
||||
optional fixed32 field5976 = 50; |
||||
optional fixed32 field5977 = 5; |
||||
optional fixed32 field5978 = 6; |
||||
optional string field5979 = 7; |
||||
optional .benchmarks.google_message4.Enum5915 field5980 = 8; |
||||
optional .benchmarks.google_message4.Message5903 field5981 = 9; |
||||
optional .benchmarks.google_message4.Message5903 field5982 = 10; |
||||
optional .benchmarks.google_message4.Enum5920 field5983 = 11; |
||||
optional .benchmarks.google_message4.Enum5923 field5984 = 40; |
||||
optional .benchmarks.google_message4.Message5903 field5985 = 41; |
||||
optional .benchmarks.google_message4.Message5903 field5986 = 42; |
||||
optional .benchmarks.google_message4.Enum5928 field5987 = 47; |
||||
optional bool field5988 = 48; |
||||
repeated fixed32 field5989 = 49; |
||||
optional string field5990 = 12; |
||||
optional .benchmarks.google_message4.Message5903 field5991 = 13; |
||||
optional .benchmarks.google_message4.Message5903 field5992 = 14; |
||||
optional .benchmarks.google_message4.Message5903 field5993 = 15; |
||||
optional .benchmarks.google_message4.Message5903 field5994 = 16; |
||||
optional .benchmarks.google_message4.Message5903 field5995 = 32; |
||||
optional .benchmarks.google_message4.Message5903 field5996 = 33; |
||||
optional .benchmarks.google_message4.Message5903 field5997 = 34; |
||||
optional .benchmarks.google_message4.Message5903 field5998 = 35; |
||||
optional .benchmarks.google_message4.Enum5931 field5999 = 17; |
||||
optional .benchmarks.google_message4.Enum5935 field6000 = 18; |
||||
optional .benchmarks.google_message4.Enum5939 field6001 = 36; |
||||
optional .benchmarks.google_message4.Enum5939 field6002 = 37; |
||||
repeated int32 field6003 = 19; |
||||
optional uint32 field6004 = 20; |
||||
optional uint32 field6005 = 21; |
||||
optional uint32 field6006 = 22; |
||||
optional uint32 field6007 = 23; |
||||
optional .benchmarks.google_message4.Enum5946 field6008 = 24; |
||||
optional .benchmarks.google_message4.Enum5946 field6009 = 25; |
||||
optional .benchmarks.google_message4.Enum5946 field6010 = 26; |
||||
optional .benchmarks.google_message4.Enum5946 field6011 = 27; |
||||
optional fixed32 field6012 = 28; |
||||
optional fixed32 field6013 = 29; |
||||
optional fixed32 field6014 = 30; |
||||
optional fixed32 field6015 = 31; |
||||
optional int32 field6016 = 38; |
||||
optional float field6017 = 39; |
||||
optional .benchmarks.google_message4.Enum5957 field6018 = 43; |
||||
optional .benchmarks.google_message4.Message5907 field6019 = 44; |
||||
optional .benchmarks.google_message4.Enum5962 field6020 = 46; |
||||
} |
||||
|
||||
message Message3850 { |
||||
optional .benchmarks.google_message4.Enum3851 field3924 = 2; |
||||
optional bool field3925 = 12; |
||||
optional int32 field3926 = 4; |
||||
optional bool field3927 = 10; |
||||
optional bool field3928 = 13; |
||||
optional bool field3929 = 14; |
||||
} |
||||
|
||||
message Message7865 {} |
||||
|
||||
message Message7511 { |
||||
optional bool field7523 = 1; |
||||
optional .benchmarks.google_message4.Enum7512 field7524 = 2; |
||||
optional int32 field7525 = 3; |
||||
optional int32 field7526 = 4; |
||||
optional bool field7527 = 5; |
||||
optional int32 field7528 = 6; |
||||
optional int32 field7529 = 7; |
||||
} |
||||
|
||||
message Message3920 {} |
||||
|
||||
message Message7928 { |
||||
optional string field7940 = 1; |
||||
optional int64 field7941 = 2; |
||||
} |
||||
|
||||
message Message7921 { |
||||
optional int32 field7936 = 1; |
||||
optional int64 field7937 = 2; |
||||
optional float field7938 = 3; |
||||
optional .benchmarks.google_message4.Enum7922 field7939 = 4; |
||||
} |
||||
|
||||
message Message7920 { |
||||
optional int64 field7934 = 1; |
||||
optional int64 field7935 = 2; |
||||
} |
||||
|
||||
message Message7919 { |
||||
optional fixed64 field7931 = 1; |
||||
optional int64 field7932 = 2; |
||||
optional bytes field7933 = 3; |
||||
} |
||||
|
||||
message Message12817 { |
||||
optional int32 field12826 = 1; |
||||
optional int32 field12827 = 2; |
||||
optional int32 field12828 = 3; |
||||
} |
||||
|
||||
message Message6054 { |
||||
required string field6089 = 1; |
||||
optional string field6090 = 2; |
||||
} |
||||
|
||||
message Message6127 {} |
||||
|
||||
message Message6052 { |
||||
required string field6084 = 1; |
||||
required bytes field6085 = 2; |
||||
} |
||||
|
||||
message Message6024 { |
||||
optional .benchmarks.google_message4.Enum6025 field6048 = 1; |
||||
optional string field6049 = 2; |
||||
optional .benchmarks.google_message4.UnusedEmptyMessage field6050 = 3; |
||||
} |
||||
|
||||
message Message5861 { |
||||
required .benchmarks.google_message4.Enum5862 field5882 = 1; |
||||
required string field5883 = 2; |
||||
optional bool field5884 = 3; |
||||
optional string field5885 = 4; |
||||
} |
||||
|
||||
message Message5880 { |
||||
optional string field5896 = 1; |
||||
} |
||||
|
||||
message Message5867 { |
||||
optional .benchmarks.google_message4.Enum5868 field5890 = 1; |
||||
optional string field5891 = 2; |
||||
optional .benchmarks.google_message4.Enum5873 field5892 = 3; |
||||
optional int32 field5893 = 4; |
||||
optional .benchmarks.google_message4.UnusedEnum field5894 = 5; |
||||
optional bool field5895 = 6; |
||||
} |
||||
|
||||
message Message4016 { |
||||
required int32 field4017 = 1; |
||||
required int32 field4018 = 2; |
||||
required int32 field4019 = 3; |
||||
required int32 field4020 = 4; |
||||
} |
||||
|
||||
message Message6108 {} |
||||
|
||||
message Message5907 { |
||||
optional .benchmarks.google_message4.Message5903 field5967 = 1; |
||||
optional .benchmarks.google_message4.Message5903 field5968 = 2; |
||||
optional .benchmarks.google_message4.Message5903 field5969 = 3; |
||||
optional .benchmarks.google_message4.Message5903 field5970 = 4; |
||||
} |
||||
|
||||
message UnusedEmptyMessage {} |
||||
|
||||
message Message5903 { |
||||
required int32 field5965 = 1; |
||||
optional .benchmarks.google_message4.Enum5904 field5966 = 2; |
||||
} |
@ -1,779 +0,0 @@ |
||||
// Protocol Buffers - Google's data interchange format |
||||
// Copyright 2008 Google Inc. All rights reserved. |
||||
// https://developers.google.com/protocol-buffers/ |
||||
// |
||||
// Redistribution and use in source and binary forms, with or without |
||||
// modification, are permitted provided that the following conditions are |
||||
// met: |
||||
// |
||||
// * Redistributions of source code must retain the above copyright |
||||
// notice, this list of conditions and the following disclaimer. |
||||
// * Redistributions in binary form must reproduce the above |
||||
// copyright notice, this list of conditions and the following disclaimer |
||||
// in the documentation and/or other materials provided with the |
||||
// distribution. |
||||
// * Neither the name of Google Inc. nor the names of its |
||||
// contributors may be used to endorse or promote products derived from |
||||
// this software without specific prior written permission. |
||||
// |
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
syntax = "proto2"; |
||||
|
||||
package benchmarks.google_message4; |
||||
|
||||
option cc_enable_arenas = true; |
||||
option java_package = "com.google.protobuf.benchmarks"; |
||||
|
||||
enum UnusedEnum { |
||||
UNUSED_ENUM_VALUE1 = 0; |
||||
UNUSED_ENUM_VALUE2 = 1; |
||||
} |
||||
|
||||
enum Enum2593 { |
||||
ENUM_VALUE2594 = 0; |
||||
ENUM_VALUE2595 = 1; |
||||
ENUM_VALUE2596 = 2; |
||||
ENUM_VALUE2597 = 3; |
||||
ENUM_VALUE2598 = 4; |
||||
ENUM_VALUE2599 = 5; |
||||
ENUM_VALUE2600 = 6; |
||||
ENUM_VALUE2601 = 7; |
||||
} |
||||
|
||||
enum Enum2834 { |
||||
ENUM_VALUE2835 = 0; |
||||
ENUM_VALUE2836 = 1; |
||||
ENUM_VALUE2837 = 2; |
||||
} |
||||
|
||||
enum Enum2806 { |
||||
ENUM_VALUE2807 = 0; |
||||
ENUM_VALUE2808 = 1; |
||||
ENUM_VALUE2809 = 2; |
||||
ENUM_VALUE2810 = 3; |
||||
ENUM_VALUE2811 = 4; |
||||
ENUM_VALUE2812 = 5; |
||||
ENUM_VALUE2813 = 6; |
||||
ENUM_VALUE2814 = 7; |
||||
ENUM_VALUE2815 = 8; |
||||
ENUM_VALUE2816 = 9; |
||||
ENUM_VALUE2817 = 10; |
||||
ENUM_VALUE2818 = 11; |
||||
ENUM_VALUE2819 = 12; |
||||
ENUM_VALUE2820 = 13; |
||||
ENUM_VALUE2821 = 14; |
||||
} |
||||
|
||||
enum Enum2851 { |
||||
option allow_alias = true; |
||||
|
||||
ENUM_VALUE2852 = 0; |
||||
ENUM_VALUE2853 = 0; |
||||
ENUM_VALUE2854 = 1; |
||||
ENUM_VALUE2855 = 2; |
||||
ENUM_VALUE2856 = 3; |
||||
ENUM_VALUE2857 = 4; |
||||
ENUM_VALUE2858 = 5; |
||||
ENUM_VALUE2859 = 6; |
||||
ENUM_VALUE2860 = 7; |
||||
ENUM_VALUE2861 = 8; |
||||
ENUM_VALUE2862 = 9; |
||||
ENUM_VALUE2863 = 10; |
||||
ENUM_VALUE2864 = 11; |
||||
ENUM_VALUE2865 = 12; |
||||
ENUM_VALUE2866 = 13; |
||||
ENUM_VALUE2867 = 14; |
||||
ENUM_VALUE2868 = 15; |
||||
ENUM_VALUE2869 = 16; |
||||
ENUM_VALUE2870 = 17; |
||||
ENUM_VALUE2871 = 18; |
||||
ENUM_VALUE2872 = 19; |
||||
ENUM_VALUE2873 = 20; |
||||
ENUM_VALUE2874 = 21; |
||||
ENUM_VALUE2875 = 22; |
||||
ENUM_VALUE2876 = 23; |
||||
ENUM_VALUE2877 = 24; |
||||
ENUM_VALUE2878 = 25; |
||||
ENUM_VALUE2879 = 26; |
||||
ENUM_VALUE2880 = 27; |
||||
ENUM_VALUE2881 = 28; |
||||
ENUM_VALUE2882 = 29; |
||||
ENUM_VALUE2883 = 30; |
||||
ENUM_VALUE2884 = 31; |
||||
ENUM_VALUE2885 = 32; |
||||
ENUM_VALUE2886 = 33; |
||||
ENUM_VALUE2887 = 34; |
||||
ENUM_VALUE2888 = 35; |
||||
ENUM_VALUE2889 = 36; |
||||
ENUM_VALUE2890 = 37; |
||||
ENUM_VALUE2891 = 38; |
||||
ENUM_VALUE2892 = 39; |
||||
ENUM_VALUE2893 = 40; |
||||
ENUM_VALUE2894 = 41; |
||||
ENUM_VALUE2895 = 42; |
||||
ENUM_VALUE2896 = 43; |
||||
ENUM_VALUE2897 = 44; |
||||
ENUM_VALUE2898 = 45; |
||||
ENUM_VALUE2899 = 46; |
||||
ENUM_VALUE2900 = 47; |
||||
ENUM_VALUE2901 = 48; |
||||
ENUM_VALUE2902 = 49; |
||||
ENUM_VALUE2903 = 50; |
||||
ENUM_VALUE2904 = 51; |
||||
ENUM_VALUE2905 = 52; |
||||
ENUM_VALUE2906 = 53; |
||||
ENUM_VALUE2907 = 54; |
||||
ENUM_VALUE2908 = 55; |
||||
ENUM_VALUE2909 = 56; |
||||
ENUM_VALUE2910 = 57; |
||||
ENUM_VALUE2911 = 58; |
||||
ENUM_VALUE2912 = 59; |
||||
ENUM_VALUE2913 = 60; |
||||
ENUM_VALUE2914 = 61; |
||||
ENUM_VALUE2915 = 62; |
||||
ENUM_VALUE2916 = 63; |
||||
ENUM_VALUE2917 = 64; |
||||
ENUM_VALUE2918 = 65; |
||||
ENUM_VALUE2919 = 66; |
||||
ENUM_VALUE2920 = 67; |
||||
ENUM_VALUE2921 = 68; |
||||
ENUM_VALUE2922 = 69; |
||||
ENUM_VALUE2923 = 70; |
||||
ENUM_VALUE2924 = 71; |
||||
ENUM_VALUE2925 = 72; |
||||
ENUM_VALUE2926 = 73; |
||||
ENUM_VALUE2927 = 74; |
||||
ENUM_VALUE2928 = 75; |
||||
ENUM_VALUE2929 = 76; |
||||
ENUM_VALUE2930 = 77; |
||||
ENUM_VALUE2931 = 78; |
||||
ENUM_VALUE2932 = 79; |
||||
ENUM_VALUE2933 = 80; |
||||
ENUM_VALUE2934 = 81; |
||||
ENUM_VALUE2935 = 82; |
||||
ENUM_VALUE2936 = 83; |
||||
ENUM_VALUE2937 = 84; |
||||
ENUM_VALUE2938 = 85; |
||||
ENUM_VALUE2939 = 86; |
||||
ENUM_VALUE2940 = 87; |
||||
ENUM_VALUE2941 = 88; |
||||
ENUM_VALUE2942 = 89; |
||||
ENUM_VALUE2943 = 90; |
||||
ENUM_VALUE2944 = 91; |
||||
ENUM_VALUE2945 = 92; |
||||
ENUM_VALUE2946 = 93; |
||||
ENUM_VALUE2947 = 94; |
||||
ENUM_VALUE2948 = 95; |
||||
ENUM_VALUE2949 = 96; |
||||
ENUM_VALUE2950 = 97; |
||||
ENUM_VALUE2951 = 98; |
||||
ENUM_VALUE2952 = 99; |
||||
ENUM_VALUE2953 = 100; |
||||
ENUM_VALUE2954 = 101; |
||||
ENUM_VALUE2955 = 102; |
||||
ENUM_VALUE2956 = 103; |
||||
ENUM_VALUE2957 = 104; |
||||
ENUM_VALUE2958 = 105; |
||||
ENUM_VALUE2959 = 106; |
||||
ENUM_VALUE2960 = 107; |
||||
ENUM_VALUE2961 = 108; |
||||
ENUM_VALUE2962 = 109; |
||||
ENUM_VALUE2963 = 110; |
||||
ENUM_VALUE2964 = 111; |
||||
ENUM_VALUE2965 = 112; |
||||
ENUM_VALUE2966 = 113; |
||||
ENUM_VALUE2967 = 114; |
||||
ENUM_VALUE2968 = 115; |
||||
ENUM_VALUE2969 = 116; |
||||
ENUM_VALUE2970 = 117; |
||||
ENUM_VALUE2971 = 118; |
||||
ENUM_VALUE2972 = 119; |
||||
} |
||||
|
||||
enum Enum2602 { |
||||
ENUM_VALUE2603 = 0; |
||||
ENUM_VALUE2604 = 1; |
||||
ENUM_VALUE2605 = 2; |
||||
ENUM_VALUE2606 = 3; |
||||
ENUM_VALUE2607 = 4; |
||||
ENUM_VALUE2608 = 5; |
||||
ENUM_VALUE2609 = 6; |
||||
ENUM_VALUE2610 = 7; |
||||
ENUM_VALUE2611 = 8; |
||||
ENUM_VALUE2612 = 9; |
||||
ENUM_VALUE2613 = 10; |
||||
ENUM_VALUE2614 = 11; |
||||
} |
||||
|
||||
enum Enum3071 { |
||||
ENUM_VALUE3072 = 1; |
||||
ENUM_VALUE3073 = 2; |
||||
ENUM_VALUE3074 = 3; |
||||
ENUM_VALUE3075 = 4; |
||||
ENUM_VALUE3076 = 5; |
||||
ENUM_VALUE3077 = 6; |
||||
ENUM_VALUE3078 = 7; |
||||
ENUM_VALUE3079 = 8; |
||||
ENUM_VALUE3080 = 9; |
||||
ENUM_VALUE3081 = 10; |
||||
ENUM_VALUE3082 = 11; |
||||
ENUM_VALUE3083 = 12; |
||||
ENUM_VALUE3084 = 13; |
||||
ENUM_VALUE3085 = 14; |
||||
ENUM_VALUE3086 = 15; |
||||
ENUM_VALUE3087 = 16; |
||||
ENUM_VALUE3088 = 17; |
||||
ENUM_VALUE3089 = 18; |
||||
ENUM_VALUE3090 = 19; |
||||
ENUM_VALUE3091 = 20; |
||||
ENUM_VALUE3092 = 21; |
||||
ENUM_VALUE3093 = 22; |
||||
ENUM_VALUE3094 = 23; |
||||
ENUM_VALUE3095 = 24; |
||||
ENUM_VALUE3096 = 25; |
||||
ENUM_VALUE3097 = 26; |
||||
ENUM_VALUE3098 = 27; |
||||
ENUM_VALUE3099 = 28; |
||||
} |
||||
|
||||
enum Enum3805 { |
||||
ENUM_VALUE3806 = 0; |
||||
ENUM_VALUE3807 = 1; |
||||
ENUM_VALUE3808 = 2; |
||||
ENUM_VALUE3809 = 3; |
||||
ENUM_VALUE3810 = 4; |
||||
ENUM_VALUE3811 = 5; |
||||
ENUM_VALUE3812 = 6; |
||||
ENUM_VALUE3813 = 7; |
||||
ENUM_VALUE3814 = 8; |
||||
ENUM_VALUE3815 = 9; |
||||
ENUM_VALUE3816 = 11; |
||||
ENUM_VALUE3817 = 10; |
||||
} |
||||
|
||||
enum Enum3783 { |
||||
ENUM_VALUE3784 = 0; |
||||
ENUM_VALUE3785 = 1; |
||||
ENUM_VALUE3786 = 2; |
||||
ENUM_VALUE3787 = 3; |
||||
ENUM_VALUE3788 = 4; |
||||
ENUM_VALUE3789 = 5; |
||||
ENUM_VALUE3790 = 6; |
||||
ENUM_VALUE3791 = 7; |
||||
ENUM_VALUE3792 = 8; |
||||
ENUM_VALUE3793 = 9; |
||||
ENUM_VALUE3794 = 10; |
||||
ENUM_VALUE3795 = 11; |
||||
ENUM_VALUE3796 = 12; |
||||
ENUM_VALUE3797 = 13; |
||||
ENUM_VALUE3798 = 14; |
||||
ENUM_VALUE3799 = 15; |
||||
ENUM_VALUE3800 = 16; |
||||
ENUM_VALUE3801 = 20; |
||||
ENUM_VALUE3802 = 21; |
||||
ENUM_VALUE3803 = 50; |
||||
} |
||||
|
||||
enum Enum3851 { |
||||
ENUM_VALUE3852 = 0; |
||||
ENUM_VALUE3853 = 1; |
||||
ENUM_VALUE3854 = 2; |
||||
ENUM_VALUE3855 = 3; |
||||
ENUM_VALUE3856 = 4; |
||||
ENUM_VALUE3857 = 5; |
||||
ENUM_VALUE3858 = 6; |
||||
ENUM_VALUE3859 = 7; |
||||
ENUM_VALUE3860 = 8; |
||||
ENUM_VALUE3861 = 9; |
||||
ENUM_VALUE3862 = 10; |
||||
ENUM_VALUE3863 = 11; |
||||
ENUM_VALUE3864 = 12; |
||||
ENUM_VALUE3865 = 13; |
||||
ENUM_VALUE3866 = 14; |
||||
ENUM_VALUE3867 = 15; |
||||
ENUM_VALUE3868 = 16; |
||||
ENUM_VALUE3869 = 17; |
||||
} |
||||
|
||||
enum Enum5862 { |
||||
ENUM_VALUE5863 = 1; |
||||
ENUM_VALUE5864 = 2; |
||||
ENUM_VALUE5865 = 3; |
||||
} |
||||
|
||||
enum Enum5868 { |
||||
ENUM_VALUE5869 = 0; |
||||
ENUM_VALUE5870 = 1; |
||||
ENUM_VALUE5871 = 2; |
||||
ENUM_VALUE5872 = 3; |
||||
} |
||||
|
||||
enum Enum5873 { |
||||
ENUM_VALUE5874 = 0; |
||||
ENUM_VALUE5875 = 1; |
||||
ENUM_VALUE5876 = 2; |
||||
} |
||||
|
||||
enum Enum5904 { |
||||
ENUM_VALUE5905 = 0; |
||||
ENUM_VALUE5906 = 1; |
||||
} |
||||
|
||||
enum Enum5909 { |
||||
ENUM_VALUE5910 = 0; |
||||
ENUM_VALUE5911 = 1; |
||||
} |
||||
|
||||
enum Enum5912 { |
||||
ENUM_VALUE5913 = 0; |
||||
ENUM_VALUE5914 = 1; |
||||
} |
||||
|
||||
enum Enum5915 { |
||||
ENUM_VALUE5916 = 0; |
||||
ENUM_VALUE5917 = 1; |
||||
ENUM_VALUE5918 = 2; |
||||
ENUM_VALUE5919 = 3; |
||||
} |
||||
|
||||
enum Enum5920 { |
||||
ENUM_VALUE5921 = 0; |
||||
ENUM_VALUE5922 = 1; |
||||
} |
||||
|
||||
enum Enum5923 { |
||||
ENUM_VALUE5924 = 0; |
||||
ENUM_VALUE5925 = 1; |
||||
ENUM_VALUE5926 = 2; |
||||
ENUM_VALUE5927 = 3; |
||||
} |
||||
|
||||
enum Enum5928 { |
||||
ENUM_VALUE5929 = 0; |
||||
ENUM_VALUE5930 = 1; |
||||
} |
||||
|
||||
enum Enum5931 { |
||||
ENUM_VALUE5932 = 0; |
||||
ENUM_VALUE5933 = 1; |
||||
ENUM_VALUE5934 = 2; |
||||
} |
||||
|
||||
enum Enum5935 { |
||||
ENUM_VALUE5936 = 0; |
||||
ENUM_VALUE5937 = 1; |
||||
ENUM_VALUE5938 = 2; |
||||
} |
||||
|
||||
enum Enum5939 { |
||||
ENUM_VALUE5940 = 0; |
||||
ENUM_VALUE5941 = 1; |
||||
ENUM_VALUE5942 = 2; |
||||
ENUM_VALUE5943 = 3; |
||||
ENUM_VALUE5944 = 4; |
||||
ENUM_VALUE5945 = 5; |
||||
} |
||||
|
||||
enum Enum5946 { |
||||
ENUM_VALUE5947 = 0; |
||||
ENUM_VALUE5948 = 1; |
||||
ENUM_VALUE5949 = 2; |
||||
ENUM_VALUE5950 = 3; |
||||
ENUM_VALUE5951 = 4; |
||||
ENUM_VALUE5952 = 5; |
||||
ENUM_VALUE5953 = 6; |
||||
ENUM_VALUE5954 = 7; |
||||
ENUM_VALUE5955 = 8; |
||||
ENUM_VALUE5956 = 9; |
||||
} |
||||
|
||||
enum Enum5957 { |
||||
ENUM_VALUE5958 = 0; |
||||
ENUM_VALUE5959 = 1; |
||||
ENUM_VALUE5960 = 2; |
||||
ENUM_VALUE5961 = 3; |
||||
} |
||||
|
||||
enum Enum5962 { |
||||
ENUM_VALUE5963 = 0; |
||||
ENUM_VALUE5964 = 1; |
||||
} |
||||
|
||||
enum Enum6025 { |
||||
ENUM_VALUE6026 = 0; |
||||
ENUM_VALUE6027 = 1; |
||||
ENUM_VALUE6028 = 2; |
||||
ENUM_VALUE6029 = 3; |
||||
ENUM_VALUE6030 = 4; |
||||
ENUM_VALUE6031 = 5; |
||||
ENUM_VALUE6032 = 6; |
||||
ENUM_VALUE6033 = 7; |
||||
ENUM_VALUE6034 = 8; |
||||
ENUM_VALUE6035 = 9; |
||||
ENUM_VALUE6036 = 10; |
||||
ENUM_VALUE6037 = 11; |
||||
ENUM_VALUE6038 = 12; |
||||
ENUM_VALUE6039 = 13; |
||||
ENUM_VALUE6040 = 14; |
||||
ENUM_VALUE6041 = 15; |
||||
ENUM_VALUE6042 = 16; |
||||
ENUM_VALUE6043 = 17; |
||||
ENUM_VALUE6044 = 18; |
||||
ENUM_VALUE6045 = 19; |
||||
ENUM_VALUE6046 = 20; |
||||
ENUM_VALUE6047 = 21; |
||||
} |
||||
|
||||
enum Enum6111 { |
||||
ENUM_VALUE6112 = 1; |
||||
ENUM_VALUE6113 = 2; |
||||
ENUM_VALUE6114 = 3; |
||||
ENUM_VALUE6115 = 4; |
||||
ENUM_VALUE6116 = 5; |
||||
ENUM_VALUE6117 = 6; |
||||
ENUM_VALUE6118 = 7; |
||||
ENUM_VALUE6119 = 8; |
||||
ENUM_VALUE6120 = 9; |
||||
ENUM_VALUE6121 = 10; |
||||
ENUM_VALUE6122 = 11; |
||||
ENUM_VALUE6123 = 12; |
||||
ENUM_VALUE6124 = 13; |
||||
ENUM_VALUE6125 = 14; |
||||
} |
||||
|
||||
enum Enum6065 { |
||||
ENUM_VALUE6066 = 0; |
||||
ENUM_VALUE6067 = 1; |
||||
ENUM_VALUE6068 = 2; |
||||
ENUM_VALUE6069 = 3; |
||||
ENUM_VALUE6070 = 4; |
||||
ENUM_VALUE6071 = 5; |
||||
ENUM_VALUE6072 = 6; |
||||
ENUM_VALUE6073 = 7; |
||||
ENUM_VALUE6074 = 8; |
||||
ENUM_VALUE6075 = 9; |
||||
ENUM_VALUE6076 = 10; |
||||
ENUM_VALUE6077 = 11; |
||||
ENUM_VALUE6078 = 12; |
||||
ENUM_VALUE6079 = 13; |
||||
ENUM_VALUE6080 = 14; |
||||
} |
||||
|
||||
enum Enum6130 { |
||||
ENUM_VALUE6131 = 0; |
||||
ENUM_VALUE6132 = 1; |
||||
} |
||||
|
||||
enum Enum6579 { |
||||
ENUM_VALUE6580 = 0; |
||||
ENUM_VALUE6581 = 2; |
||||
ENUM_VALUE6582 = 3; |
||||
ENUM_VALUE6583 = 5; |
||||
ENUM_VALUE6584 = 10; |
||||
ENUM_VALUE6585 = 15; |
||||
ENUM_VALUE6586 = 25; |
||||
ENUM_VALUE6587 = 30; |
||||
} |
||||
|
||||
enum Enum6588 { |
||||
ENUM_VALUE6589 = 0; |
||||
ENUM_VALUE6590 = 1; |
||||
ENUM_VALUE6591 = 2; |
||||
ENUM_VALUE6592 = 3; |
||||
ENUM_VALUE6593 = 4; |
||||
ENUM_VALUE6594 = 5; |
||||
ENUM_VALUE6595 = 6; |
||||
ENUM_VALUE6596 = 7; |
||||
ENUM_VALUE6597 = 8; |
||||
ENUM_VALUE6598 = 9; |
||||
ENUM_VALUE6599 = 10; |
||||
ENUM_VALUE6600 = 11; |
||||
ENUM_VALUE6601 = 12; |
||||
ENUM_VALUE6602 = 13; |
||||
ENUM_VALUE6603 = 14; |
||||
ENUM_VALUE6604 = 15; |
||||
ENUM_VALUE6605 = 16; |
||||
ENUM_VALUE6606 = 17; |
||||
ENUM_VALUE6607 = 19; |
||||
ENUM_VALUE6608 = 20; |
||||
ENUM_VALUE6609 = 21; |
||||
ENUM_VALUE6610 = 22; |
||||
ENUM_VALUE6611 = 23; |
||||
ENUM_VALUE6612 = 24; |
||||
ENUM_VALUE6613 = 25; |
||||
ENUM_VALUE6614 = 26; |
||||
ENUM_VALUE6615 = 27; |
||||
ENUM_VALUE6616 = 28; |
||||
ENUM_VALUE6617 = 29; |
||||
ENUM_VALUE6618 = 30; |
||||
ENUM_VALUE6619 = 31; |
||||
ENUM_VALUE6620 = 32; |
||||
ENUM_VALUE6621 = 33; |
||||
ENUM_VALUE6622 = 34; |
||||
} |
||||
|
||||
enum Enum7288 { |
||||
ENUM_VALUE7289 = 0; |
||||
ENUM_VALUE7290 = 1; |
||||
ENUM_VALUE7291 = 2; |
||||
ENUM_VALUE7292 = 3; |
||||
} |
||||
|
||||
enum Enum7512 { |
||||
ENUM_VALUE7513 = 0; |
||||
ENUM_VALUE7514 = 1; |
||||
ENUM_VALUE7515 = 2; |
||||
ENUM_VALUE7516 = 3; |
||||
ENUM_VALUE7517 = 4; |
||||
ENUM_VALUE7518 = 5; |
||||
ENUM_VALUE7519 = 6; |
||||
ENUM_VALUE7520 = 7; |
||||
} |
||||
|
||||
enum Enum7922 { |
||||
ENUM_VALUE7923 = 1; |
||||
ENUM_VALUE7924 = 2; |
||||
ENUM_VALUE7925 = 3; |
||||
ENUM_VALUE7926 = 4; |
||||
ENUM_VALUE7927 = 5; |
||||
} |
||||
|
||||
enum Enum3476 { |
||||
ENUM_VALUE3477 = 0; |
||||
ENUM_VALUE3478 = 1; |
||||
ENUM_VALUE3479 = 2; |
||||
ENUM_VALUE3480 = 3; |
||||
ENUM_VALUE3481 = 4; |
||||
ENUM_VALUE3482 = 5; |
||||
ENUM_VALUE3483 = 6; |
||||
ENUM_VALUE3484 = 7; |
||||
ENUM_VALUE3485 = 8; |
||||
ENUM_VALUE3486 = 9; |
||||
ENUM_VALUE3487 = 10; |
||||
ENUM_VALUE3488 = 11; |
||||
ENUM_VALUE3489 = 12; |
||||
ENUM_VALUE3490 = 13; |
||||
ENUM_VALUE3491 = 14; |
||||
ENUM_VALUE3492 = 15; |
||||
ENUM_VALUE3493 = 16; |
||||
ENUM_VALUE3494 = 17; |
||||
ENUM_VALUE3495 = 18; |
||||
ENUM_VALUE3496 = 19; |
||||
ENUM_VALUE3497 = 20; |
||||
ENUM_VALUE3498 = 21; |
||||
ENUM_VALUE3499 = 22; |
||||
ENUM_VALUE3500 = 23; |
||||
ENUM_VALUE3501 = 24; |
||||
ENUM_VALUE3502 = 25; |
||||
ENUM_VALUE3503 = 26; |
||||
ENUM_VALUE3504 = 27; |
||||
ENUM_VALUE3505 = 28; |
||||
ENUM_VALUE3506 = 29; |
||||
ENUM_VALUE3507 = 30; |
||||
ENUM_VALUE3508 = 31; |
||||
ENUM_VALUE3509 = 32; |
||||
ENUM_VALUE3510 = 33; |
||||
ENUM_VALUE3511 = 34; |
||||
ENUM_VALUE3512 = 35; |
||||
ENUM_VALUE3513 = 36; |
||||
ENUM_VALUE3514 = 37; |
||||
ENUM_VALUE3515 = 38; |
||||
ENUM_VALUE3516 = 39; |
||||
ENUM_VALUE3517 = 40; |
||||
ENUM_VALUE3518 = 41; |
||||
ENUM_VALUE3519 = 42; |
||||
ENUM_VALUE3520 = 43; |
||||
ENUM_VALUE3521 = 44; |
||||
ENUM_VALUE3522 = 45; |
||||
ENUM_VALUE3523 = 46; |
||||
ENUM_VALUE3524 = 47; |
||||
ENUM_VALUE3525 = 48; |
||||
ENUM_VALUE3526 = 49; |
||||
ENUM_VALUE3527 = 50; |
||||
ENUM_VALUE3528 = 51; |
||||
ENUM_VALUE3529 = 52; |
||||
ENUM_VALUE3530 = 53; |
||||
ENUM_VALUE3531 = 54; |
||||
ENUM_VALUE3532 = 55; |
||||
ENUM_VALUE3533 = 56; |
||||
ENUM_VALUE3534 = 57; |
||||
ENUM_VALUE3535 = 58; |
||||
ENUM_VALUE3536 = 59; |
||||
ENUM_VALUE3537 = 60; |
||||
ENUM_VALUE3538 = 61; |
||||
ENUM_VALUE3539 = 62; |
||||
ENUM_VALUE3540 = 63; |
||||
ENUM_VALUE3541 = 64; |
||||
ENUM_VALUE3542 = 65; |
||||
ENUM_VALUE3543 = 66; |
||||
ENUM_VALUE3544 = 67; |
||||
ENUM_VALUE3545 = 68; |
||||
ENUM_VALUE3546 = 69; |
||||
ENUM_VALUE3547 = 70; |
||||
ENUM_VALUE3548 = 71; |
||||
ENUM_VALUE3549 = 72; |
||||
ENUM_VALUE3550 = 73; |
||||
ENUM_VALUE3551 = 74; |
||||
ENUM_VALUE3552 = 75; |
||||
ENUM_VALUE3553 = 76; |
||||
ENUM_VALUE3554 = 77; |
||||
ENUM_VALUE3555 = 78; |
||||
ENUM_VALUE3556 = 79; |
||||
ENUM_VALUE3557 = 80; |
||||
ENUM_VALUE3558 = 81; |
||||
ENUM_VALUE3559 = 82; |
||||
ENUM_VALUE3560 = 83; |
||||
ENUM_VALUE3561 = 84; |
||||
ENUM_VALUE3562 = 85; |
||||
ENUM_VALUE3563 = 86; |
||||
ENUM_VALUE3564 = 87; |
||||
ENUM_VALUE3565 = 88; |
||||
ENUM_VALUE3566 = 89; |
||||
ENUM_VALUE3567 = 90; |
||||
ENUM_VALUE3568 = 91; |
||||
ENUM_VALUE3569 = 92; |
||||
ENUM_VALUE3570 = 93; |
||||
ENUM_VALUE3571 = 94; |
||||
ENUM_VALUE3572 = 95; |
||||
ENUM_VALUE3573 = 96; |
||||
ENUM_VALUE3574 = 97; |
||||
ENUM_VALUE3575 = 98; |
||||
ENUM_VALUE3576 = 99; |
||||
ENUM_VALUE3577 = 100; |
||||
ENUM_VALUE3578 = 101; |
||||
ENUM_VALUE3579 = 102; |
||||
ENUM_VALUE3580 = 103; |
||||
ENUM_VALUE3581 = 104; |
||||
ENUM_VALUE3582 = 105; |
||||
ENUM_VALUE3583 = 106; |
||||
ENUM_VALUE3584 = 107; |
||||
ENUM_VALUE3585 = 108; |
||||
ENUM_VALUE3586 = 109; |
||||
ENUM_VALUE3587 = 110; |
||||
ENUM_VALUE3588 = 111; |
||||
ENUM_VALUE3589 = 112; |
||||
ENUM_VALUE3590 = 113; |
||||
ENUM_VALUE3591 = 114; |
||||
ENUM_VALUE3592 = 115; |
||||
ENUM_VALUE3593 = 116; |
||||
ENUM_VALUE3594 = 117; |
||||
ENUM_VALUE3595 = 118; |
||||
ENUM_VALUE3596 = 119; |
||||
ENUM_VALUE3597 = 120; |
||||
ENUM_VALUE3598 = 121; |
||||
ENUM_VALUE3599 = 122; |
||||
ENUM_VALUE3600 = 123; |
||||
ENUM_VALUE3601 = 124; |
||||
ENUM_VALUE3602 = 125; |
||||
ENUM_VALUE3603 = 126; |
||||
ENUM_VALUE3604 = 127; |
||||
ENUM_VALUE3605 = 128; |
||||
ENUM_VALUE3606 = 129; |
||||
ENUM_VALUE3607 = 130; |
||||
ENUM_VALUE3608 = 131; |
||||
ENUM_VALUE3609 = 132; |
||||
ENUM_VALUE3610 = 133; |
||||
ENUM_VALUE3611 = 134; |
||||
ENUM_VALUE3612 = 135; |
||||
ENUM_VALUE3613 = 136; |
||||
ENUM_VALUE3614 = 137; |
||||
ENUM_VALUE3615 = 138; |
||||
ENUM_VALUE3616 = 139; |
||||
ENUM_VALUE3617 = 140; |
||||
ENUM_VALUE3618 = 141; |
||||
ENUM_VALUE3619 = 142; |
||||
ENUM_VALUE3620 = 143; |
||||
ENUM_VALUE3621 = 144; |
||||
ENUM_VALUE3622 = 145; |
||||
ENUM_VALUE3623 = 146; |
||||
ENUM_VALUE3624 = 147; |
||||
ENUM_VALUE3625 = 148; |
||||
ENUM_VALUE3626 = 149; |
||||
ENUM_VALUE3627 = 150; |
||||
ENUM_VALUE3628 = 151; |
||||
ENUM_VALUE3629 = 152; |
||||
ENUM_VALUE3630 = 153; |
||||
ENUM_VALUE3631 = 154; |
||||
ENUM_VALUE3632 = 155; |
||||
ENUM_VALUE3633 = 156; |
||||
ENUM_VALUE3634 = 157; |
||||
ENUM_VALUE3635 = 158; |
||||
ENUM_VALUE3636 = 159; |
||||
ENUM_VALUE3637 = 160; |
||||
ENUM_VALUE3638 = 161; |
||||
ENUM_VALUE3639 = 162; |
||||
ENUM_VALUE3640 = 163; |
||||
ENUM_VALUE3641 = 164; |
||||
ENUM_VALUE3642 = 165; |
||||
ENUM_VALUE3643 = 166; |
||||
ENUM_VALUE3644 = 167; |
||||
ENUM_VALUE3645 = 168; |
||||
ENUM_VALUE3646 = 169; |
||||
ENUM_VALUE3647 = 170; |
||||
ENUM_VALUE3648 = 171; |
||||
ENUM_VALUE3649 = 172; |
||||
ENUM_VALUE3650 = 173; |
||||
ENUM_VALUE3651 = 174; |
||||
ENUM_VALUE3652 = 175; |
||||
ENUM_VALUE3653 = 176; |
||||
ENUM_VALUE3654 = 177; |
||||
ENUM_VALUE3655 = 178; |
||||
ENUM_VALUE3656 = 179; |
||||
ENUM_VALUE3657 = 180; |
||||
ENUM_VALUE3658 = 181; |
||||
ENUM_VALUE3659 = 182; |
||||
ENUM_VALUE3660 = 183; |
||||
} |
||||
|
||||
enum Enum10325 { |
||||
ENUM_VALUE10326 = 0; |
||||
ENUM_VALUE10327 = 1; |
||||
ENUM_VALUE10328 = 2; |
||||
ENUM_VALUE10329 = 3; |
||||
ENUM_VALUE10330 = 4; |
||||
ENUM_VALUE10331 = 5; |
||||
ENUM_VALUE10332 = 6; |
||||
ENUM_VALUE10333 = 7; |
||||
ENUM_VALUE10334 = 8; |
||||
} |
||||
|
||||
enum Enum10335 { ENUM_VALUE10336 = 0; } |
||||
|
||||
enum Enum10337 { |
||||
ENUM_VALUE10338 = 0; |
||||
ENUM_VALUE10339 = 1; |
||||
} |
||||
|
||||
enum Enum11901 { |
||||
ENUM_VALUE11902 = 0; |
||||
ENUM_VALUE11903 = 1; |
||||
ENUM_VALUE11904 = 2; |
||||
ENUM_VALUE11905 = 3; |
||||
} |
||||
|
||||
enum Enum12735 { |
||||
ENUM_VALUE12736 = 0; |
||||
ENUM_VALUE12737 = 1; |
||||
ENUM_VALUE12738 = 2; |
||||
ENUM_VALUE12739 = 3; |
||||
} |
||||
|
||||
enum Enum12871 { |
||||
ENUM_VALUE12872 = 1; |
||||
ENUM_VALUE12873 = 2; |
||||
ENUM_VALUE12874 = 3; |
||||
ENUM_VALUE12875 = 4; |
||||
ENUM_VALUE12876 = 5; |
||||
ENUM_VALUE12877 = 6; |
||||
} |
@ -1,138 +0,0 @@ |
||||
syntax = "proto2"; |
||||
|
||||
package benchmarks; |
||||
|
||||
option java_outer_classname = "GoogleSize"; |
||||
option optimize_for = CODE_SIZE; |
||||
|
||||
message SizeMessage1 { |
||||
required string field1 = 1; |
||||
optional string field9 = 9; |
||||
optional string field18 = 18; |
||||
optional bool field80 = 80 [default=false]; |
||||
optional bool field81 = 81 [default=true]; |
||||
required int32 field2 = 2; |
||||
required int32 field3 = 3; |
||||
optional int32 field280 = 280; |
||||
optional int32 field6 = 6 [default=0]; |
||||
optional int64 field22 = 22; |
||||
optional string field4 = 4; |
||||
repeated fixed64 field5 = 5; |
||||
optional bool field59 = 59 [default=false]; |
||||
optional string field7 = 7; |
||||
optional int32 field16 = 16; |
||||
optional int32 field130 = 130 [default=0]; |
||||
optional bool field12 = 12 [default=true]; |
||||
optional bool field17 = 17 [default=true]; |
||||
optional bool field13 = 13 [default=true]; |
||||
optional bool field14 = 14 [default=true]; |
||||
optional int32 field104 = 104 [default=0]; |
||||
optional int32 field100 = 100 [default=0]; |
||||
optional int32 field101 = 101 [default=0]; |
||||
optional string field102 = 102; |
||||
optional string field103 = 103; |
||||
optional int32 field29 = 29 [default=0]; |
||||
optional bool field30 = 30 [default=false]; |
||||
optional int32 field60 = 60 [default=-1]; |
||||
optional int32 field271 = 271 [default=-1]; |
||||
optional int32 field272 = 272 [default=-1]; |
||||
optional int32 field150 = 150; |
||||
optional int32 field23 = 23 [default=0]; |
||||
optional bool field24 = 24 [default=false]; |
||||
optional int32 field25 = 25 [default=0]; |
||||
optional SizeMessage1SubMessage field15 = 15; |
||||
optional bool field78 = 78; |
||||
optional int32 field67 = 67 [default=0]; |
||||
optional int32 field68 = 68; |
||||
optional int32 field128 = 128 [default=0]; |
||||
optional string field129 = 129 [default="xxxxxxxxxxxxxxxxxxxxx"]; |
||||
optional int32 field131 = 131 [default=0]; |
||||
} |
||||
|
||||
message SizeMessage1SubMessage { |
||||
optional int32 field1 = 1 [default=0]; |
||||
optional int32 field2 = 2 [default=0]; |
||||
optional int32 field3 = 3 [default=0]; |
||||
optional string field15 = 15; |
||||
optional bool field12 = 12 [default=true]; |
||||
optional int64 field13 = 13; |
||||
optional int64 field14 = 14; |
||||
optional int32 field16 = 16; |
||||
optional int32 field19 = 19 [default=2]; |
||||
optional bool field20 = 20 [default=true]; |
||||
optional bool field28 = 28 [default=true]; |
||||
optional fixed64 field21 = 21; |
||||
optional int32 field22 = 22; |
||||
optional bool field23 = 23 [ default=false ]; |
||||
optional bool field206 = 206 [default=false]; |
||||
optional fixed32 field203 = 203; |
||||
optional int32 field204 = 204; |
||||
optional string field205 = 205; |
||||
optional uint64 field207 = 207; |
||||
optional uint64 field300 = 300; |
||||
} |
||||
|
||||
message SizeMessage2 { |
||||
optional string field1 = 1; |
||||
optional int64 field3 = 3; |
||||
optional int64 field4 = 4; |
||||
optional int64 field30 = 30; |
||||
optional bool field75 = 75 [default=false]; |
||||
optional string field6 = 6; |
||||
optional bytes field2 = 2; |
||||
optional int32 field21 = 21 [default=0]; |
||||
optional int32 field71 = 71; |
||||
optional float field25 = 25; |
||||
optional int32 field109 = 109 [default=0]; |
||||
optional int32 field210 = 210 [default=0]; |
||||
optional int32 field211 = 211 [default=0]; |
||||
optional int32 field212 = 212 [default=0]; |
||||
optional int32 field213 = 213 [default=0]; |
||||
optional int32 field216 = 216 [default=0]; |
||||
optional int32 field217 = 217 [default=0]; |
||||
optional int32 field218 = 218 [default=0]; |
||||
optional int32 field220 = 220 [default=0]; |
||||
optional int32 field221 = 221 [default=0]; |
||||
optional float field222 = 222 [default=0.0]; |
||||
optional int32 field63 = 63; |
||||
|
||||
repeated group Group1 = 10 { |
||||
required float field11 = 11; |
||||
optional float field26 = 26; |
||||
optional string field12 = 12; |
||||
optional string field13 = 13; |
||||
repeated string field14 = 14; |
||||
required uint64 field15 = 15; |
||||
optional int32 field5 = 5; |
||||
optional string field27 = 27; |
||||
optional int32 field28 = 28; |
||||
optional string field29 = 29; |
||||
optional string field16 = 16; |
||||
repeated string field22 = 22; |
||||
repeated int32 field73 = 73; |
||||
optional int32 field20 = 20 [default=0]; |
||||
optional string field24 = 24; |
||||
optional SizeMessage2GroupedMessage field31 = 31; |
||||
} |
||||
repeated string field128 = 128; |
||||
optional int64 field131 = 131; |
||||
repeated string field127 = 127; |
||||
optional int32 field129 = 129; |
||||
repeated int64 field130 = 130; |
||||
optional bool field205 = 205 [default=false]; |
||||
optional bool field206 = 206 [default=false]; |
||||
} |
||||
|
||||
message SizeMessage2GroupedMessage { |
||||
optional float field1 = 1; |
||||
optional float field2 = 2; |
||||
optional float field3 = 3 [default=0.0]; |
||||
optional bool field4 = 4; |
||||
optional bool field5 = 5; |
||||
optional bool field6 = 6 [default=true]; |
||||
optional bool field7 = 7 [default=false]; |
||||
optional float field8 = 8; |
||||
optional bool field9 = 9; |
||||
optional float field10 = 10; |
||||
optional int64 field11 = 11; |
||||
} |
@ -1,39 +0,0 @@ |
||||
"""Starlark definitions for Protobuf benchmark tests. |
||||
|
||||
PLEASE DO NOT DEPEND ON THE CONTENTS OF THIS FILE, IT IS UNSTABLE. |
||||
""" |
||||
|
||||
load("//build_defs:internal_shell.bzl", "inline_sh_binary") |
||||
|
||||
def internal_benchmark_test( |
||||
name, |
||||
binary, |
||||
datasets, |
||||
args = [], |
||||
env_vars = []): |
||||
"""Benchmark test runner. |
||||
|
||||
Args: |
||||
name: the name for the test. |
||||
binary: a benchmark test binary. |
||||
datasets: a set of datasets to benchmark. |
||||
args: optional arguments to pass the binary. |
||||
env_vars: environment variables to set in the test. |
||||
""" |
||||
|
||||
dataset_labels = [] |
||||
for dataset in datasets: |
||||
dataset_labels.append("$(rootpaths %s)" % dataset) |
||||
inline_sh_binary( |
||||
name = name, |
||||
srcs = datasets, |
||||
tools = [binary], |
||||
cmd = "%s $(rootpath %s) %s %s" % ( |
||||
" ".join(env_vars), |
||||
binary, |
||||
" ".join(args), |
||||
" ".join(dataset_labels), |
||||
), |
||||
tags = ["benchmark"], |
||||
testonly = 1, |
||||
) |
@ -1,55 +0,0 @@ |
||||
load("@rules_java//java:defs.bzl", "java_binary", "java_library") |
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix") |
||||
load("//build_defs:internal_shell.bzl", "inline_sh_binary") |
||||
load("//benchmarks:internal.bzl", "internal_benchmark_test") |
||||
|
||||
java_binary( |
||||
name = "java_benchmark_jar", |
||||
srcs = [ |
||||
"src/main/java/com/google/protobuf/ProtoCaliperBenchmark.java", |
||||
], |
||||
main_class = "com.google.caliper.runner.CaliperMain", |
||||
deps = [ |
||||
"//:protobuf_java", |
||||
"//benchmarks:benchmarks_java_proto", |
||||
"//benchmarks/datasets:java_protos", |
||||
"@maven//:com_google_caliper_caliper", |
||||
"@maven//:com_google_caliper_caliper_api", |
||||
], |
||||
) |
||||
|
||||
# The benchmark binary which can be run over any dataset. |
||||
inline_sh_binary( |
||||
name = "java_benchmark", |
||||
srcs = ["//benchmarks/datasets"], |
||||
cmd = """ |
||||
data_files="" |
||||
conf=() |
||||
for arg in "$${@:1}"; do |
||||
if [[ $${arg:0:1} == "-" ]]; then |
||||
conf+=($$arg) |
||||
else |
||||
data_files+="$$arg," |
||||
fi |
||||
done |
||||
$(rootpath :java_benchmark_jar) com.google.protobuf.ProtoCaliperBenchmark \ |
||||
-i runtime -DdataFile=$${data_files:0:-1} $${conf[*]} |
||||
""", |
||||
tools = [":java_benchmark_jar"], |
||||
) |
||||
|
||||
# A pre-configured binary using the checked in datasets. |
||||
internal_benchmark_test( |
||||
name = "java", |
||||
binary = ":java_benchmark", |
||||
datasets = ["//benchmarks/datasets"], |
||||
) |
||||
|
||||
pkg_files( |
||||
name = "dist_files", |
||||
srcs = [ |
||||
"BUILD.bazel", |
||||
] + glob(["**/*.java"]), |
||||
strip_prefix = strip_prefix.from_root(""), |
||||
visibility = ["//benchmarks:__pkg__"], |
||||
) |
@ -1,207 +0,0 @@ |
||||
package com.google.protobuf; |
||||
|
||||
import com.google.caliper.BeforeExperiment; |
||||
import com.google.caliper.Benchmark; |
||||
import com.google.caliper.Param; |
||||
import com.google.protobuf.benchmarks.Benchmarks.BenchmarkDataset; |
||||
import java.io.ByteArrayInputStream; |
||||
import java.io.ByteArrayOutputStream; |
||||
import java.io.File; |
||||
import java.io.IOException; |
||||
import java.io.RandomAccessFile; |
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
|
||||
/** Basic benchmarks for Java protobuf parsing. */ |
||||
@SuppressWarnings("CheckReturnValue") |
||||
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()); |
||||
} |
||||
} |
||||
|
||||
@SuppressWarnings({"IgnoredPureGetter", "CheckReturnValue"}) |
||||
@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 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(); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
|
@ -1,69 +0,0 @@ |
||||
load("//benchmarks:internal.bzl", "internal_benchmark_test") |
||||
load("//build_defs:internal_shell.bzl", "inline_sh_binary") |
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix") |
||||
|
||||
# The benchmark binary which can be run over any dataset. |
||||
inline_sh_binary( |
||||
name = "php_benchmark", |
||||
testonly = 1, |
||||
srcs = [ |
||||
"PhpBenchmark.php", |
||||
"autoload.php", |
||||
], |
||||
cmd = """ |
||||
php -d include_path=benchmarks:php/src \\ |
||||
-d auto_prepend_file=$(rootpath autoload.php) \\ |
||||
$(rootpath PhpBenchmark.php) $$@ |
||||
""", |
||||
deps = [ |
||||
"//benchmarks:benchmarks_php_proto", |
||||
"//benchmarks/datasets:php_protos", |
||||
"//php:source_files", |
||||
], |
||||
) |
||||
|
||||
# A pre-configured binary using the checked in datasets. |
||||
internal_benchmark_test( |
||||
name = "php", |
||||
args = ["--behavior_prefix='php'"], |
||||
binary = ":php_benchmark", |
||||
datasets = ["//benchmarks/datasets:proto3_datasets"], |
||||
env_vars = ["PROTOBUF_PHP_SRCDIR=php/src"], |
||||
) |
||||
|
||||
# The benchmark binary which can be run over any dataset. |
||||
inline_sh_binary( |
||||
name = "php_c_benchmark", |
||||
testonly = 1, |
||||
srcs = [ |
||||
"PhpBenchmark.php", |
||||
"//php:extension", |
||||
], |
||||
cmd = """ |
||||
php -d include_path=benchmarks:php/src \\ |
||||
-dextension=$(rootpath //php:extension) \\ |
||||
$(rootpath PhpBenchmark.php) $$@ |
||||
""", |
||||
deps = [ |
||||
"//benchmarks:benchmarks_php_proto", |
||||
"//benchmarks/datasets:php_protos", |
||||
], |
||||
) |
||||
|
||||
# A pre-configured binary using the checked in datasets. |
||||
internal_benchmark_test( |
||||
name = "php_c", |
||||
args = ["--behavior_prefix='php_c'"], |
||||
binary = ":php_c_benchmark", |
||||
datasets = ["//benchmarks/datasets:proto3_datasets"], |
||||
env_vars = ["PROTOBUF_PHP_SRCDIR=php/src"], |
||||
) |
||||
|
||||
pkg_files( |
||||
name = "dist_files", |
||||
srcs = glob(["*.php"]) + [ |
||||
"BUILD.bazel", |
||||
], |
||||
strip_prefix = strip_prefix.from_root(""), |
||||
visibility = ["//benchmarks:__pkg__"], |
||||
) |
@ -1,170 +0,0 @@ |
||||
<?php |
||||
|
||||
namespace Google\Protobuf\Benchmark; |
||||
ini_set('memory_limit', '4096M'); |
||||
|
||||
const NAME = "PhpBenchmark.php"; |
||||
|
||||
function _require_all($dir, &$prefix) { |
||||
// require all php files |
||||
foreach (glob("$dir/*") as $path) { |
||||
if (preg_match('/\.php$/', $path) && |
||||
substr($path, -strlen(NAME)) != NAME) { |
||||
require_once(substr($path, strlen($prefix) + 1)); |
||||
} elseif (is_dir($path)) { |
||||
_require_all($path, $prefix); |
||||
} |
||||
} |
||||
} |
||||
// include all file |
||||
foreach (explode(PATH_SEPARATOR, get_include_path()) as $one_include_path) { |
||||
_require_all($one_include_path, $one_include_path); |
||||
} |
||||
|
||||
use Benchmarks\BenchmarkDataset; |
||||
|
||||
class BenchmarkMethod |
||||
{ |
||||
// $args[0]: dataset |
||||
// $args[1]: message class |
||||
static function parse(&$args) { |
||||
$payloads = $args[0]->getPayload(); |
||||
for ($i = $payloads->count() - 1; $i >= 0; $i--) { |
||||
(new $args[1]())->mergeFromString($payloads->offsetGet($i)); |
||||
} |
||||
} |
||||
|
||||
// $args: array of message |
||||
static function serialize(&$args) { |
||||
foreach ($args as &$temp_message) { |
||||
$temp_message->serializeToString(); |
||||
} |
||||
} |
||||
} |
||||
|
||||
class Benchmark |
||||
{ |
||||
private $benchmark_name; |
||||
private $args; |
||||
private $benchmark_time; |
||||
private $total_bytes; |
||||
private $coefficient; |
||||
|
||||
public function __construct($benchmark_name, $args, $total_bytes, |
||||
$benchmark_time = 5.0) { |
||||
$this->args = $args; |
||||
$this->benchmark_name = $benchmark_name; |
||||
$this->benchmark_time = $benchmark_time; |
||||
$this->total_bytes = $total_bytes; |
||||
$this->coefficient = pow (10, 0) / pow(2, 20); |
||||
} |
||||
|
||||
public function runBenchmark() { |
||||
$t = $this->runBenchmarkWithTimes(1); |
||||
$times = ceil($this->benchmark_time / $t); |
||||
return $this->total_bytes * $times / |
||||
($times == 1 ? $t : $this->runBenchmarkWithTimes($times)) * |
||||
$this->coefficient; |
||||
} |
||||
|
||||
private function runBenchmarkWithTimes($times) { |
||||
$st = microtime(true); |
||||
for ($i = 0; $i < $times; $i++) { |
||||
call_user_func_array($this->benchmark_name, array(&$this->args)); |
||||
} |
||||
$en = microtime(true); |
||||
return $en - $st; |
||||
} |
||||
} |
||||
|
||||
function getMessageName(&$dataset) { |
||||
switch ($dataset->getMessageName()) { |
||||
case "benchmarks.proto3.GoogleMessage1": |
||||
return "\Benchmarks\Proto3\GoogleMessage1"; |
||||
case "benchmarks.proto2.GoogleMessage1": |
||||
return "\Benchmarks\Proto2\GoogleMessage1"; |
||||
case "benchmarks.proto2.GoogleMessage2": |
||||
return "\Benchmarks\Proto2\GoogleMessage2"; |
||||
case "benchmarks.google_message3.GoogleMessage3": |
||||
return "\Benchmarks\Google_message3\GoogleMessage3"; |
||||
case "benchmarks.google_message4.GoogleMessage4": |
||||
return "\Benchmarks\Google_message4\GoogleMessage4"; |
||||
default: |
||||
exit("Message " . $dataset->getMessageName() . " not found !"); |
||||
} |
||||
} |
||||
|
||||
function runBenchmark($file, $behavior_prefix) { |
||||
$datafile = fopen($file, "r") or die("Unable to open file " . $file); |
||||
$bytes = fread($datafile, filesize($file)); |
||||
$dataset = new BenchmarkDataset(NULL); |
||||
$dataset->mergeFromString($bytes); |
||||
$message_name = getMessageName($dataset); |
||||
$message_list = array(); |
||||
$total_bytes = 0; |
||||
$payloads = $dataset->getPayload(); |
||||
for ($i = $payloads->count() - 1; $i >= 0; $i--) { |
||||
$new_message = new $message_name(); |
||||
$new_message->mergeFromString($payloads->offsetGet($i)); |
||||
array_push($message_list, $new_message); |
||||
$total_bytes += strlen($payloads->offsetGet($i)); |
||||
} |
||||
|
||||
$parse_benchmark = new Benchmark( |
||||
"\Google\Protobuf\Benchmark\BenchmarkMethod::parse", |
||||
array($dataset, $message_name), $total_bytes); |
||||
$serialize_benchmark = new Benchmark( |
||||
"\Google\Protobuf\Benchmark\BenchmarkMethod::serialize", |
||||
$message_list, $total_bytes); |
||||
|
||||
return array( |
||||
"filename" => $file, |
||||
"benchmarks" => array( |
||||
$behavior_prefix . "_parse" => $parse_benchmark->runBenchmark(), |
||||
$behavior_prefix . "_serailize" => $serialize_benchmark->runBenchmark() |
||||
), |
||||
"message_name" => $dataset->getMessageName() |
||||
); |
||||
} |
||||
|
||||
// main |
||||
$json_output = false; |
||||
$results = array(); |
||||
$behavior_prefix = ""; |
||||
|
||||
foreach ($argv as $index => $arg) { |
||||
if ($index == 0) { |
||||
continue; |
||||
} |
||||
if ($arg == "--json") { |
||||
$json_output = true; |
||||
} else if (strpos($arg, "--behavior_prefix") == 0) { |
||||
$behavior_prefix = str_replace("--behavior_prefix=", "", $arg); |
||||
} |
||||
} |
||||
|
||||
foreach ($argv as $index => $arg) { |
||||
if ($index == 0) { |
||||
continue; |
||||
} |
||||
if (substr($arg, 0, 2) == "--") { |
||||
continue; |
||||
} else { |
||||
array_push($results, runBenchmark($arg, $behavior_prefix)); |
||||
} |
||||
} |
||||
|
||||
if ($json_output) { |
||||
print json_encode($results); |
||||
} else { |
||||
print "PHP protobuf benchmark result:\n\n"; |
||||
foreach ($results as $result) { |
||||
printf("result for test data file: %s\n", $result["filename"]); |
||||
foreach ($result["benchmarks"] as $benchmark => $throughput) { |
||||
printf(" Throughput for benchmark %s: %.2f MB/s\n", |
||||
$benchmark, $throughput); |
||||
} |
||||
} |
||||
} |
||||
|
||||
?> |
@ -1,25 +0,0 @@ |
||||
<?php |
||||
|
||||
define("GOOGLE_INTERNAL_NAMESPACE", "Google\\Protobuf\\Internal\\"); |
||||
define("GOOGLE_NAMESPACE", "Google\\Protobuf\\"); |
||||
define("GOOGLE_GPBMETADATA_NAMESPACE", "GPBMetadata\\Google\\Protobuf\\"); |
||||
define("BENCHMARK_NAMESPACE", "Benchmarks"); |
||||
define("BENCHMARK_GPBMETADATA_NAMESPACE", "GPBMetadata\\Benchmarks"); |
||||
|
||||
function protobuf_autoloader_impl($class, $prefix, $include_path) { |
||||
$length = strlen($prefix); |
||||
if ((substr($class, 0, $length) === $prefix)) { |
||||
$path = $include_path . '/' . implode('/', array_map('ucwords', explode('\\', $class))) . '.php'; |
||||
include_once $path; |
||||
} |
||||
} |
||||
|
||||
function protobuf_autoloader($class) { |
||||
protobuf_autoloader_impl($class, GOOGLE_INTERNAL_NAMESPACE, getenv('PROTOBUF_PHP_SRCDIR')); |
||||
protobuf_autoloader_impl($class, GOOGLE_NAMESPACE, getenv('PROTOBUF_PHP_SRCDIR')); |
||||
protobuf_autoloader_impl($class, GOOGLE_GPBMETADATA_NAMESPACE, getenv('PROTOBUF_PHP_SRCDIR')); |
||||
protobuf_autoloader_impl($class, BENCHMARK_NAMESPACE, getenv('CURRENT_DIR')); |
||||
protobuf_autoloader_impl($class, BENCHMARK_GPBMETADATA_NAMESPACE, getenv('CURRENT_DIR')); |
||||
} |
||||
|
||||
spl_autoload_register('protobuf_autoloader'); |
@ -1,72 +0,0 @@ |
||||
load("@rules_cc//cc:defs.bzl", "cc_binary") |
||||
load("@rules_python//python:defs.bzl", "py_binary", "py_library") |
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix") |
||||
load("//benchmarks:internal.bzl", "internal_benchmark_test") |
||||
|
||||
cc_binary( |
||||
name = "libbenchmark_messages.so", |
||||
srcs = ["python_benchmark_messages.cc"], |
||||
linkshared = True, |
||||
linkstatic = True, |
||||
visibility = ["//visibility:private"], |
||||
deps = [ |
||||
"//benchmarks:benchmarks_cc_proto", |
||||
"//benchmarks/datasets:cc_protos", |
||||
"//external:python_headers", |
||||
"@local_config_python//:python_headers", |
||||
], |
||||
) |
||||
|
||||
# The benchmark binary which can be run over any dataset. |
||||
py_binary( |
||||
name = "python_benchmark", |
||||
srcs = ["py_benchmark.py"], |
||||
data = ["libbenchmark_messages.so"], |
||||
python_version = "PY3", |
||||
env = select({ |
||||
"//python:use_fast_cpp_protos": {"PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION": "cpp"}, |
||||
"//conditions:default": {"PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION": "python"}, |
||||
}), |
||||
main = "py_benchmark.py", |
||||
deps = [ |
||||
"//:protobuf_python", |
||||
"//benchmarks:benchmarks_py_proto", |
||||
"//benchmarks/datasets:py_protos", |
||||
], |
||||
) |
||||
|
||||
# Pre-configured binaries using the checked in datasets. |
||||
|
||||
internal_benchmark_test( |
||||
name = "python", |
||||
binary = ":python_benchmark", |
||||
datasets = ["//benchmarks/datasets"], |
||||
env_vars = ["PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python"], |
||||
) |
||||
|
||||
# Note: this requires --define=use_fast_cpp_protos=true |
||||
internal_benchmark_test( |
||||
name = "cpp_reflection", |
||||
binary = ":python_benchmark", |
||||
datasets = ["//benchmarks/datasets"], |
||||
env_vars = ["PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=cpp"], |
||||
) |
||||
|
||||
# Note: this requires --define=use_fast_cpp_protos=true |
||||
internal_benchmark_test( |
||||
name = "cpp_generated_code", |
||||
args = ["--cpp_generated"], |
||||
binary = ":python_benchmark", |
||||
datasets = ["//benchmarks/datasets"], |
||||
env_vars = ["PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=cpp"], |
||||
) |
||||
|
||||
pkg_files( |
||||
name = "dist_files", |
||||
srcs = glob(["*.py"]) + [ |
||||
"BUILD.bazel", |
||||
"python_benchmark_messages.cc", |
||||
], |
||||
strip_prefix = strip_prefix.from_root(""), |
||||
visibility = ["//benchmarks:__pkg__"], |
||||
) |
@ -1,159 +0,0 @@ |
||||
from __future__ import print_function |
||||
import sys |
||||
import os |
||||
import timeit |
||||
import math |
||||
import argparse |
||||
import fnmatch |
||||
import json |
||||
from benchmarks.datasets.google_message1.proto2 import benchmark_message1_proto2_pb2 |
||||
from benchmarks.datasets.google_message1.proto3 import benchmark_message1_proto3_pb2 |
||||
from benchmarks.datasets.google_message2 import benchmark_message2_pb2 |
||||
from benchmarks.datasets.google_message3 import benchmark_message3_pb2 |
||||
from benchmarks.datasets.google_message4 import benchmark_message4_pb2 |
||||
from benchmarks import benchmarks_pb2 |
||||
|
||||
parser = argparse.ArgumentParser(description="Python protobuf benchmark") |
||||
parser.add_argument("data_files", metavar="dataFile", nargs="+", |
||||
help="testing data files.") |
||||
parser.add_argument("--json", action="store_const", dest="json", |
||||
const="yes", default="no", |
||||
help="Whether to output json results") |
||||
parser.add_argument("--behavior_prefix", dest="behavior_prefix", |
||||
help="The output json format's behavior's name's prefix", |
||||
default="") |
||||
# BEGIN CPP GENERATED MESSAGE |
||||
parser.add_argument("--cpp_generated", action="store_const", |
||||
dest="cpp_generated", const="yes", default="no", |
||||
help="Whether to link generated code library") |
||||
# END CPP GENERATED MESSAGE |
||||
args = parser.parse_args() |
||||
# BEGIN CPP GENERATED MESSAGE |
||||
# CPP generated code must be linked before importing the generated Python code |
||||
# for the descriptor can be found in the pool |
||||
if args.cpp_generated != "no": |
||||
sys.path.append( os.path.dirname( os.path.dirname( os.path.abspath(__file__) ) ) + "/.libs" ) |
||||
from benchmarks.python import libbenchmark_messages # pylint: disable=unused-import,g-import-not-at-top |
||||
sys.path.append( os.path.dirname( os.path.dirname( os.path.abspath(__file__) ) ) + "/tmp" ) |
||||
# END CPP GENERATED MESSAGE |
||||
|
||||
|
||||
def run_one_test(filename): |
||||
data = open(filename, "rb").read() |
||||
benchmark_dataset = benchmarks_pb2.BenchmarkDataset() |
||||
benchmark_dataset.ParseFromString(data) |
||||
total_bytes = 0 |
||||
for payload in benchmark_dataset.payload: |
||||
total_bytes += len(payload) |
||||
benchmark_util = Benchmark(full_iteration=len(benchmark_dataset.payload), |
||||
module="py_benchmark", |
||||
setup_method="init", |
||||
total_bytes=total_bytes) |
||||
result={} |
||||
result["filename"] = filename |
||||
result["message_name"] = benchmark_dataset.message_name |
||||
result["benchmarks"] = {} |
||||
benchmark_util.set_test_method("parse_from_benchmark") |
||||
result["benchmarks"][args.behavior_prefix + "_parse_from_benchmark"] = \ |
||||
benchmark_util.run_benchmark(setup_method_args='"%s"' % (filename)) |
||||
benchmark_util.set_test_method("serialize_to_benchmark") |
||||
result["benchmarks"][args.behavior_prefix + "_serialize_to_benchmark"] = \ |
||||
benchmark_util.run_benchmark(setup_method_args='"%s"' % (filename)) |
||||
return result |
||||
|
||||
|
||||
def init(filename): |
||||
global benchmark_dataset, message_class, message_list, counter, total_bytes |
||||
message_list=[] |
||||
counter = 0 |
||||
total_bytes = 0 |
||||
data = open(filename, "rb").read() |
||||
benchmark_dataset = benchmarks_pb2.BenchmarkDataset() |
||||
benchmark_dataset.ParseFromString(data) |
||||
|
||||
if benchmark_dataset.message_name == "benchmarks.proto3.GoogleMessage1": |
||||
message_class = benchmark_message1_proto3_pb2.GoogleMessage1 |
||||
elif benchmark_dataset.message_name == "benchmarks.proto2.GoogleMessage1": |
||||
message_class = benchmark_message1_proto2_pb2.GoogleMessage1 |
||||
elif benchmark_dataset.message_name == "benchmarks.proto2.GoogleMessage2": |
||||
message_class = benchmark_message2_pb2.GoogleMessage2 |
||||
elif benchmark_dataset.message_name == "benchmarks.google_message3.GoogleMessage3": |
||||
message_class = benchmark_message3_pb2.GoogleMessage3 |
||||
elif benchmark_dataset.message_name == "benchmarks.google_message4.GoogleMessage4": |
||||
message_class = benchmark_message4_pb2.GoogleMessage4 |
||||
else: |
||||
raise IOError("Message %s not found!" % (benchmark_dataset.message_name)) |
||||
|
||||
for one_payload in benchmark_dataset.payload: |
||||
temp = message_class() |
||||
temp.ParseFromString(one_payload) |
||||
message_list.append(temp) |
||||
total_bytes += len(one_payload) |
||||
|
||||
|
||||
def parse_from_benchmark(): |
||||
global counter, message_class, benchmark_dataset |
||||
m = message_class().ParseFromString(benchmark_dataset.payload[counter % len(benchmark_dataset.payload)]) |
||||
counter = counter + 1 |
||||
|
||||
|
||||
def serialize_to_benchmark(): |
||||
global counter, message_list, message_class |
||||
s = message_list[counter % len(benchmark_dataset.payload)].SerializeToString() |
||||
counter = counter + 1 |
||||
|
||||
|
||||
class Benchmark: |
||||
def __init__(self, module=None, test_method=None, |
||||
setup_method=None, total_bytes=None, full_iteration = 1): |
||||
self.full_iteration = full_iteration |
||||
self.module = module |
||||
self.test_method = test_method |
||||
self.setup_method = setup_method |
||||
self.total_bytes = total_bytes |
||||
|
||||
def set_test_method(self, test_method): |
||||
self.test_method = test_method |
||||
|
||||
def full_setup_code(self, setup_method_args=''): |
||||
setup_code = "" |
||||
setup_code += "from %s import %s\n" % (self.module, self.test_method) |
||||
setup_code += "from %s import %s\n" % (self.module, self.setup_method) |
||||
setup_code += "%s(%s)\n" % (self.setup_method, setup_method_args) |
||||
return setup_code |
||||
|
||||
def dry_run(self, test_method_args='', setup_method_args=''): |
||||
return timeit.timeit(stmt="%s(%s)" % (self.test_method, test_method_args), |
||||
setup=self.full_setup_code(setup_method_args), |
||||
number=self.full_iteration); |
||||
|
||||
def run_benchmark(self, test_method_args='', setup_method_args=''): |
||||
reps = self.full_iteration; |
||||
t = self.dry_run(test_method_args, setup_method_args); |
||||
if t < 3 : |
||||
reps = int(math.ceil(3 / t)) * self.full_iteration |
||||
if reps != self.full_iteration: |
||||
t = timeit.timeit(stmt="%s(%s)" % (self.test_method, test_method_args), |
||||
setup=self.full_setup_code(setup_method_args), |
||||
number=reps); |
||||
return self.total_bytes * 1.0 / 2 ** 20 / (1.0 * t / reps * self.full_iteration) |
||||
|
||||
|
||||
if __name__ == "__main__": |
||||
results = [] |
||||
for file in args.data_files: |
||||
results.append(run_one_test(file)) |
||||
|
||||
if args.json != "no": |
||||
print(json.dumps(results)) |
||||
else: |
||||
for result in results: |
||||
print("Message %s of dataset file %s" % \ |
||||
(result["message_name"], result["filename"])) |
||||
print("Average throughput for parse_from_benchmark: %.2f MB/s" % \ |
||||
(result["benchmarks"][ \ |
||||
args.behavior_prefix + "_parse_from_benchmark"])) |
||||
print("Average throughput for serialize_to_benchmark: %.2f MB/s" % \ |
||||
(result["benchmarks"][ \ |
||||
args.behavior_prefix + "_serialize_to_benchmark"])) |
||||
print("") |
@ -1,31 +0,0 @@ |
||||
#include <Python.h> |
||||
|
||||
#include "benchmarks.pb.h" |
||||
#include "benchmarks/datasets/google_message1/proto2/benchmark_message1_proto2.pb.h" |
||||
#include "benchmarks/datasets/google_message1/proto3/benchmark_message1_proto3.pb.h" |
||||
#include "benchmarks/datasets/google_message2/benchmark_message2.pb.h" |
||||
#include "benchmarks/datasets/google_message3/benchmark_message3.pb.h" |
||||
#include "benchmarks/datasets/google_message4/benchmark_message4.pb.h" |
||||
|
||||
static struct PyModuleDef _module = {PyModuleDef_HEAD_INIT, |
||||
"libbenchmark_messages", |
||||
"Benchmark messages Python module", |
||||
-1, |
||||
NULL, |
||||
NULL, |
||||
NULL, |
||||
NULL, |
||||
NULL}; |
||||
|
||||
extern "C" { |
||||
PyMODINIT_FUNC PyInit_libbenchmark_messages() { |
||||
benchmarks::BenchmarkDataset().descriptor(); |
||||
benchmarks::proto3::GoogleMessage1().descriptor(); |
||||
benchmarks::proto2::GoogleMessage1().descriptor(); |
||||
benchmarks::proto2::GoogleMessage2().descriptor(); |
||||
benchmarks::google_message3::GoogleMessage3().descriptor(); |
||||
benchmarks::google_message4::GoogleMessage4().descriptor(); |
||||
|
||||
return PyModule_Create(&_module); |
||||
} |
||||
} |
@ -1,50 +0,0 @@ |
||||
load("@rules_cc//cc:defs.bzl", "cc_binary") |
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix") |
||||
load("@rules_python//python:defs.bzl", "py_binary") |
||||
|
||||
package(default_visibility = ["//benchmarks:__subpackages__"]) |
||||
|
||||
cc_binary( |
||||
name = "protoc-gen-proto2_to_proto3", |
||||
srcs = [ |
||||
"protoc-gen-proto2_to_proto3.cc", |
||||
"schema_proto2_to_proto3_util.h", |
||||
], |
||||
visibility = ["//benchmarks:__subpackages__"], |
||||
deps = [ |
||||
"//:protobuf", |
||||
"//benchmarks:benchmarks_cc_proto", |
||||
"//src/google/protobuf/compiler:code_generator", |
||||
], |
||||
) |
||||
|
||||
cc_binary( |
||||
name = "proto3_data_stripper", |
||||
srcs = [ |
||||
"data_proto2_to_proto3_util.h", |
||||
"proto3_data_stripper.cc", |
||||
], |
||||
deps = [ |
||||
"//:protobuf", |
||||
"//benchmarks:benchmarks_cc_proto", |
||||
"//benchmarks/datasets:cc_protos", |
||||
], |
||||
) |
||||
|
||||
py_binary( |
||||
name = "result_parser", |
||||
srcs = ["result_parser.py"], |
||||
deps = [ |
||||
"//benchmarks:benchmarks_py_proto", |
||||
], |
||||
) |
||||
|
||||
################################################################################ |
||||
# Distribution files |
||||
################################################################################ |
||||
|
||||
pkg_files( |
||||
name = "dist_files", |
||||
srcs = glob(["*"]), |
||||
strip_prefix = strip_prefix.from_root(""), |
||||
) |
@ -1,189 +0,0 @@ |
||||
#!/usr/bin/env python2.7 |
||||
|
||||
from __future__ import print_function |
||||
import argparse |
||||
import json |
||||
import uuid |
||||
import httplib2 |
||||
|
||||
from apiclient import discovery |
||||
from apiclient.errors import HttpError |
||||
from oauth2client.client import GoogleCredentials |
||||
|
||||
# 30 days in milliseconds |
||||
_EXPIRATION_MS = 30 * 24 * 60 * 60 * 1000 |
||||
NUM_RETRIES = 3 |
||||
|
||||
|
||||
def create_big_query(): |
||||
"""Authenticates with cloud platform and gets a BiqQuery service object |
||||
""" |
||||
creds = GoogleCredentials.get_application_default() |
||||
return discovery.build( |
||||
'bigquery', 'v2', credentials=creds, cache_discovery=False) |
||||
|
||||
|
||||
def create_dataset(biq_query, project_id, dataset_id): |
||||
is_success = True |
||||
body = { |
||||
'datasetReference': { |
||||
'projectId': project_id, |
||||
'datasetId': dataset_id |
||||
} |
||||
} |
||||
|
||||
try: |
||||
dataset_req = biq_query.datasets().insert( |
||||
projectId=project_id, body=body) |
||||
dataset_req.execute(num_retries=NUM_RETRIES) |
||||
except HttpError as http_error: |
||||
if http_error.resp.status == 409: |
||||
print('Warning: The dataset %s already exists' % dataset_id) |
||||
else: |
||||
# Note: For more debugging info, print "http_error.content" |
||||
print('Error in creating dataset: %s. Err: %s' % (dataset_id, |
||||
http_error)) |
||||
is_success = False |
||||
return is_success |
||||
|
||||
|
||||
def create_table(big_query, project_id, dataset_id, table_id, table_schema, |
||||
description): |
||||
fields = [{ |
||||
'name': field_name, |
||||
'type': field_type, |
||||
'description': field_description |
||||
} for (field_name, field_type, field_description) in table_schema] |
||||
return create_table2(big_query, project_id, dataset_id, table_id, fields, |
||||
description) |
||||
|
||||
|
||||
def create_partitioned_table(big_query, |
||||
project_id, |
||||
dataset_id, |
||||
table_id, |
||||
table_schema, |
||||
description, |
||||
partition_type='DAY', |
||||
expiration_ms=_EXPIRATION_MS): |
||||
"""Creates a partitioned table. By default, a date-paritioned table is created with |
||||
each partition lasting 30 days after it was last modified. |
||||
""" |
||||
fields = [{ |
||||
'name': field_name, |
||||
'type': field_type, |
||||
'description': field_description |
||||
} for (field_name, field_type, field_description) in table_schema] |
||||
return create_table2(big_query, project_id, dataset_id, table_id, fields, |
||||
description, partition_type, expiration_ms) |
||||
|
||||
|
||||
def create_table2(big_query, |
||||
project_id, |
||||
dataset_id, |
||||
table_id, |
||||
fields_schema, |
||||
description, |
||||
partition_type=None, |
||||
expiration_ms=None): |
||||
is_success = True |
||||
|
||||
body = { |
||||
'description': description, |
||||
'schema': { |
||||
'fields': fields_schema |
||||
}, |
||||
'tableReference': { |
||||
'datasetId': dataset_id, |
||||
'projectId': project_id, |
||||
'tableId': table_id |
||||
} |
||||
} |
||||
|
||||
if partition_type and expiration_ms: |
||||
body["timePartitioning"] = { |
||||
"type": partition_type, |
||||
"expirationMs": expiration_ms |
||||
} |
||||
|
||||
try: |
||||
table_req = big_query.tables().insert( |
||||
projectId=project_id, datasetId=dataset_id, body=body) |
||||
res = table_req.execute(num_retries=NUM_RETRIES) |
||||
print('Successfully created %s "%s"' % (res['kind'], res['id'])) |
||||
except HttpError as http_error: |
||||
if http_error.resp.status == 409: |
||||
print('Warning: Table %s already exists' % table_id) |
||||
else: |
||||
print('Error in creating table: %s. Err: %s' % (table_id, |
||||
http_error)) |
||||
is_success = False |
||||
return is_success |
||||
|
||||
|
||||
def patch_table(big_query, project_id, dataset_id, table_id, fields_schema): |
||||
is_success = True |
||||
|
||||
body = { |
||||
'schema': { |
||||
'fields': fields_schema |
||||
}, |
||||
'tableReference': { |
||||
'datasetId': dataset_id, |
||||
'projectId': project_id, |
||||
'tableId': table_id |
||||
} |
||||
} |
||||
|
||||
try: |
||||
table_req = big_query.tables().patch( |
||||
projectId=project_id, |
||||
datasetId=dataset_id, |
||||
tableId=table_id, |
||||
body=body) |
||||
res = table_req.execute(num_retries=NUM_RETRIES) |
||||
print('Successfully patched %s "%s"' % (res['kind'], res['id'])) |
||||
except HttpError as http_error: |
||||
print('Error in creating table: %s. Err: %s' % (table_id, http_error)) |
||||
is_success = False |
||||
return is_success |
||||
|
||||
|
||||
def insert_rows(big_query, project_id, dataset_id, table_id, rows_list): |
||||
is_success = True |
||||
body = {'rows': rows_list} |
||||
try: |
||||
insert_req = big_query.tabledata().insertAll( |
||||
projectId=project_id, |
||||
datasetId=dataset_id, |
||||
tableId=table_id, |
||||
body=body) |
||||
res = insert_req.execute(num_retries=NUM_RETRIES) |
||||
if res.get('insertErrors', None): |
||||
print('Error inserting rows! Response: %s' % res) |
||||
is_success = False |
||||
except HttpError as http_error: |
||||
print('Error inserting rows to the table %s' % table_id) |
||||
is_success = False |
||||
|
||||
return is_success |
||||
|
||||
|
||||
def sync_query_job(big_query, project_id, query, timeout=5000): |
||||
query_data = {'query': query, 'timeoutMs': timeout} |
||||
query_job = None |
||||
try: |
||||
query_job = big_query.jobs().query( |
||||
projectId=project_id, |
||||
body=query_data).execute(num_retries=NUM_RETRIES) |
||||
except HttpError as http_error: |
||||
print('Query execute job failed with error: %s' % http_error) |
||||
print(http_error.content) |
||||
return query_job |
||||
|
||||
|
||||
# List of (column name, column type, description) tuples |
||||
def make_row(unique_row_id, row_values_dict): |
||||
"""row_values_dict is a dictionary of column name and column value. |
||||
""" |
||||
return {'insertId': unique_row_id, 'json': row_values_dict} |
@ -1,105 +0,0 @@ |
||||
"""Starlark definitions for converting proto2 to proto3. |
||||
|
||||
PLEASE DO NOT DEPEND ON THE CONTENTS OF THIS FILE, IT IS UNSTABLE. |
||||
""" |
||||
|
||||
load("//:protobuf.bzl", "internal_php_proto_library") |
||||
|
||||
def proto3_from_proto2_data( |
||||
name, |
||||
srcs, |
||||
**kwargs): |
||||
"""Transforms proto2 binary data into a proto3-compatible format, |
||||
|
||||
Args: |
||||
name: the name of the target representing the generated proto files. |
||||
srcs: the source binary protobuf data files. |
||||
**kwargs: standard arguments to forward on |
||||
""" |
||||
outs = [] |
||||
out_files = [] |
||||
src_files = [] |
||||
for src in srcs: |
||||
outs.append("proto3/" + src) |
||||
out_files.append("$(RULEDIR)/proto3/" + src) |
||||
src_files.append("$(rootpath %s)" % src) |
||||
|
||||
native.genrule( |
||||
name = name + "_genrule", |
||||
srcs = srcs, |
||||
exec_tools = [ |
||||
"//benchmarks/util:proto3_data_stripper", |
||||
], |
||||
outs = outs, |
||||
cmd = "$(execpath //benchmarks/util:proto3_data_stripper) %s %s" % ( |
||||
" ".join(src_files), |
||||
" ".join(out_files), |
||||
), |
||||
) |
||||
|
||||
native.filegroup( |
||||
name = name, |
||||
srcs = outs, |
||||
**kwargs |
||||
) |
||||
|
||||
def _proto3_from_proto2_library( |
||||
name, |
||||
srcs, |
||||
**kwargs): |
||||
"""Create a proto3 library from a proto2 source. |
||||
|
||||
Args: |
||||
name: the name of the target representing the generated proto files. |
||||
srcs: the source proto2 files. Note: these must be raw sources. |
||||
**kwargs: standard arguments to forward on |
||||
""" |
||||
outs = [] |
||||
src_files = [] |
||||
for src in srcs: |
||||
outs.append(src + "3") |
||||
src_files.append("$(rootpath %s)" % src) |
||||
|
||||
native.genrule( |
||||
name = name, |
||||
srcs = srcs, |
||||
exec_tools = [ |
||||
"//:protoc", |
||||
"//benchmarks/util:protoc-gen-proto2_to_proto3", |
||||
], |
||||
outs = outs, |
||||
cmd = """ |
||||
$(execpath //:protoc) \ |
||||
--plugin=$(execpath //benchmarks/util:protoc-gen-proto2_to_proto3) \ |
||||
--proto_path=. \ |
||||
--proto_path=$(GENDIR) \ |
||||
--proto2_to_proto3_out=$(GENDIR) \ |
||||
%s |
||||
""" % (" ".join(src_files)), |
||||
**kwargs |
||||
) |
||||
|
||||
def php_proto3_from_proto2_library( |
||||
name, |
||||
src, |
||||
outs = [], |
||||
**kwargs): |
||||
"""Create a proto3 php library from a proto2 source. |
||||
|
||||
Args: |
||||
name: the name of the target representing the generated proto files. |
||||
src: the source proto2 file. |
||||
outs: the expected php outputs. |
||||
**kwargs: standard arguments to forward on |
||||
""" |
||||
_proto3_from_proto2_library( |
||||
name = name + "_genrule", |
||||
srcs = [src], |
||||
) |
||||
|
||||
internal_php_proto_library( |
||||
name = name, |
||||
srcs = [name + "_genrule"], |
||||
outs = outs, |
||||
**kwargs |
||||
) |
@ -1,64 +0,0 @@ |
||||
#ifndef PROTOBUF_BENCHMARKS_UTIL_DATA_PROTO2_TO_PROTO3_UTIL_H_ |
||||
#define PROTOBUF_BENCHMARKS_UTIL_DATA_PROTO2_TO_PROTO3_UTIL_H_ |
||||
|
||||
#include "google/protobuf/message.h" |
||||
#include "google/protobuf/descriptor.h" |
||||
|
||||
using google::protobuf::FieldDescriptor; |
||||
using google::protobuf::Message; |
||||
using google::protobuf::Reflection; |
||||
|
||||
namespace google { |
||||
namespace protobuf { |
||||
namespace util { |
||||
|
||||
class DataStripper { |
||||
public: |
||||
void StripMessage(Message *message) { |
||||
std::vector<const FieldDescriptor*> set_fields; |
||||
const Reflection* reflection = message->GetReflection(); |
||||
reflection->ListFields(*message, &set_fields); |
||||
|
||||
for (size_t i = 0; i < set_fields.size(); i++) { |
||||
const FieldDescriptor* field = set_fields[i]; |
||||
if (ShouldBeClear(field)) { |
||||
reflection->ClearField(message, field); |
||||
continue; |
||||
} |
||||
if (field->type() == FieldDescriptor::TYPE_MESSAGE) { |
||||
if (field->is_repeated()) { |
||||
for (int j = 0; j < reflection->FieldSize(*message, field); j++) { |
||||
StripMessage(reflection->MutableRepeatedMessage(message, field, j)); |
||||
} |
||||
} else { |
||||
StripMessage(reflection->MutableMessage(message, field)); |
||||
} |
||||
} |
||||
} |
||||
|
||||
reflection->MutableUnknownFields(message)->Clear(); |
||||
} |
||||
private: |
||||
virtual bool ShouldBeClear(const FieldDescriptor *field) = 0; |
||||
}; |
||||
|
||||
class GogoDataStripper : public DataStripper { |
||||
private: |
||||
virtual bool ShouldBeClear(const FieldDescriptor *field) { |
||||
return field->type() == FieldDescriptor::TYPE_GROUP; |
||||
} |
||||
}; |
||||
|
||||
class Proto3DataStripper : public DataStripper { |
||||
private: |
||||
virtual bool ShouldBeClear(const FieldDescriptor *field) { |
||||
return field->type() == FieldDescriptor::TYPE_GROUP || |
||||
field->is_extension(); |
||||
} |
||||
}; |
||||
|
||||
} // namespace util
|
||||
} // namespace protobuf
|
||||
} // namespace google
|
||||
|
||||
#endif // PROTOBUF_BENCHMARKS_UTIL_DATA_PROTO2_TO_PROTO3_UTIL_H_
|
@ -1,74 +0,0 @@ |
||||
#include <fstream> |
||||
|
||||
#include "benchmarks.pb.h" |
||||
#include "benchmarks/datasets/google_message1/proto2/benchmark_message1_proto2.pb.h" |
||||
#include "benchmarks/datasets/google_message1/proto3/benchmark_message1_proto3.pb.h" |
||||
#include "benchmarks/datasets/google_message2/benchmark_message2.pb.h" |
||||
#include "benchmarks/datasets/google_message3/benchmark_message3.pb.h" |
||||
#include "benchmarks/datasets/google_message4/benchmark_message4.pb.h" |
||||
#include "data_proto2_to_proto3_util.h" |
||||
|
||||
using google::protobuf::util::Proto3DataStripper; |
||||
|
||||
std::string ReadFile(const std::string& name) { |
||||
std::ifstream file(name.c_str()); |
||||
GOOGLE_CHECK(file.is_open()) << "Couldn't find file '" |
||||
<< name |
||||
<< "', please make sure you are running this command from the benchmarks" |
||||
<< " directory.\n"; |
||||
return std::string((std::istreambuf_iterator<char>(file)), |
||||
std::istreambuf_iterator<char>()); |
||||
} |
||||
|
||||
int main(int argc, char *argv[]) { |
||||
if (argc % 2 == 0 || argc == 1) { |
||||
std::cerr << "Usage: [input_files] [output_file_names] where " << |
||||
"input_files are one to one mapping to output_file_names." << |
||||
std::endl; |
||||
return 1; |
||||
} |
||||
|
||||
for (int i = argc / 2; i > 0; i--) { |
||||
const std::string &input_file = argv[i]; |
||||
const std::string &output_file = argv[i + argc / 2]; |
||||
|
||||
std::cerr << "Generating " << input_file |
||||
<< " to " << output_file << std::endl; |
||||
benchmarks::BenchmarkDataset dataset; |
||||
Message* message; |
||||
std::string dataset_payload = ReadFile(input_file); |
||||
GOOGLE_CHECK(dataset.ParseFromString(dataset_payload)) |
||||
<< "Can' t parse data file " << input_file; |
||||
|
||||
if (dataset.message_name() == "benchmarks.proto3.GoogleMessage1") { |
||||
message = new benchmarks::proto3::GoogleMessage1; |
||||
} else if (dataset.message_name() == "benchmarks.proto2.GoogleMessage1") { |
||||
message = new benchmarks::proto2::GoogleMessage1; |
||||
} else if (dataset.message_name() == "benchmarks.proto2.GoogleMessage2") { |
||||
message = new benchmarks::proto2::GoogleMessage2; |
||||
} else if (dataset.message_name() == |
||||
"benchmarks.google_message3.GoogleMessage3") { |
||||
message = new benchmarks::google_message3::GoogleMessage3; |
||||
} else if (dataset.message_name() == |
||||
"benchmarks.google_message4.GoogleMessage4") { |
||||
message = new benchmarks::google_message4::GoogleMessage4; |
||||
} else { |
||||
std::cerr << "Unknown message type: " << dataset.message_name(); |
||||
exit(1); |
||||
} |
||||
|
||||
for (int i = 0; i < dataset.payload_size(); i++) { |
||||
message->ParseFromString(dataset.payload(i)); |
||||
Proto3DataStripper stripper; |
||||
stripper.StripMessage(message); |
||||
dataset.set_payload(i, message->SerializeAsString()); |
||||
} |
||||
|
||||
std::ofstream ofs(output_file); |
||||
ofs << dataset.SerializeAsString(); |
||||
ofs.close(); |
||||
} |
||||
|
||||
|
||||
return 0; |
||||
} |
@ -1,118 +0,0 @@ |
||||
#include "google/protobuf/compiler/code_generator.h" |
||||
#include "google/protobuf/io/zero_copy_stream.h" |
||||
#include "google/protobuf/io/printer.h" |
||||
#include "google/protobuf/descriptor.h" |
||||
#include "google/protobuf/descriptor.pb.h" |
||||
#include "schema_proto2_to_proto3_util.h" |
||||
|
||||
#include "google/protobuf/compiler/plugin.h" |
||||
|
||||
using google::protobuf::DescriptorPool; |
||||
using google::protobuf::FileDescriptor; |
||||
using google::protobuf::FileDescriptorProto; |
||||
using google::protobuf::io::Printer; |
||||
using google::protobuf::util::EnumScrubber; |
||||
using google::protobuf::util::ExtensionStripper; |
||||
using google::protobuf::util::FieldScrubber; |
||||
using google::protobuf::util::ImportScrubber; |
||||
using google::protobuf::util::SchemaGroupStripper; |
||||
|
||||
namespace google { |
||||
namespace protobuf { |
||||
namespace compiler { |
||||
|
||||
namespace { |
||||
|
||||
std::string StripProtoExt(const std::string& filename) { |
||||
return filename.substr(0, filename.rfind(".proto")); |
||||
} |
||||
|
||||
DescriptorPool* GetPool() { |
||||
static DescriptorPool *pool = new DescriptorPool(); |
||||
return pool; |
||||
} |
||||
|
||||
} // namespace
|
||||
|
||||
class Proto2ToProto3Generator final : public CodeGenerator { |
||||
public: |
||||
bool GenerateAll(const std::vector<const FileDescriptor*>& files, |
||||
const std::string& parameter, GeneratorContext* context, |
||||
std::string* error) const { |
||||
for (int i = 0; i < files.size(); i++) { |
||||
for (auto file : files) { |
||||
if (CanGenerate(file)) { |
||||
Generate(file, parameter, context, error); |
||||
break; |
||||
} |
||||
} |
||||
} |
||||
|
||||
return true; |
||||
} |
||||
|
||||
bool Generate(const FileDescriptor* file, const std::string& parameter, |
||||
GeneratorContext* context, std::string* error) const { |
||||
FileDescriptorProto new_file; |
||||
file->CopyTo(&new_file); |
||||
new_file.set_name(ImportScrubber::ScrubFilename(file->name())); |
||||
SchemaGroupStripper::StripFile(file, &new_file); |
||||
|
||||
EnumScrubber enum_scrubber; |
||||
enum_scrubber.ScrubFile(&new_file); |
||||
ExtensionStripper::StripFile(&new_file); |
||||
FieldScrubber::ScrubFile(&new_file); |
||||
ImportScrubber::ScrubFile(&new_file); |
||||
new_file.set_syntax("proto3"); |
||||
|
||||
std::string filename = file->name(); |
||||
std::string basename = StripProtoExt(filename); |
||||
|
||||
std::vector<std::pair<std::string, std::string>> option_pairs; |
||||
ParseGeneratorParameter(parameter, &option_pairs); |
||||
|
||||
std::unique_ptr<google::protobuf::io::ZeroCopyOutputStream> output( |
||||
context->Open(basename + ".proto3")); |
||||
std::string content = GetPool()->BuildFile(new_file)->DebugString(); |
||||
Printer printer(output.get(), '$'); |
||||
printer.WriteRaw(content.c_str(), content.size()); |
||||
|
||||
return true; |
||||
} |
||||
|
||||
private: |
||||
bool CanGenerate(const FileDescriptor* file) const { |
||||
if (GetPool()->FindFileByName( |
||||
ImportScrubber::ScrubFilename(file->name())) != nullptr) { |
||||
return false; |
||||
} |
||||
for (int j = 0; j < file->dependency_count(); j++) { |
||||
if (GetPool()->FindFileByName(ImportScrubber::ScrubFilename( |
||||
file->dependency(j)->name())) == nullptr) { |
||||
return false; |
||||
} |
||||
} |
||||
for (int j = 0; j < file->public_dependency_count(); j++) { |
||||
if (GetPool()->FindFileByName( |
||||
file->public_dependency(j)->name()) == nullptr) { |
||||
return false; |
||||
} |
||||
} |
||||
for (int j = 0; j < file->weak_dependency_count(); j++) { |
||||
if (GetPool()->FindFileByName( |
||||
file->weak_dependency(j)->name()) == nullptr) { |
||||
return false; |
||||
} |
||||
} |
||||
return true; |
||||
} |
||||
}; |
||||
|
||||
} // namespace compiler
|
||||
} // namespace protobuf
|
||||
} // namespace google
|
||||
|
||||
int main(int argc, char* argv[]) { |
||||
google::protobuf::compiler::Proto2ToProto3Generator generator; |
||||
return google::protobuf::compiler::PluginMain(argc, argv, &generator); |
||||
} |
@ -1,352 +0,0 @@ |
||||
"""Parses benchmark results into a standardized json output.""" |
||||
|
||||
import argparse |
||||
import json |
||||
import re |
||||
import os.path |
||||
from benchmarks import benchmarks_pb2 |
||||
# BEGIN OPENSOURCE |
||||
import sys |
||||
sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), os.pardir)) |
||||
# END OPENSOURCE |
||||
|
||||
__file_size_map = {} |
||||
|
||||
def __get_data_size(filename): |
||||
if filename[0] != '/': |
||||
filename = os.path.dirname(os.path.abspath(__file__)) + "/../" + filename |
||||
if filename in __file_size_map: |
||||
return __file_size_map[filename] |
||||
benchmark_dataset = benchmarks_pb2.BenchmarkDataset() |
||||
benchmark_dataset.ParseFromString( |
||||
open(filename, "rb").read()) |
||||
size = 0 |
||||
count = 0 |
||||
for payload in benchmark_dataset.payload: |
||||
size += len(payload) |
||||
count += 1 |
||||
__file_size_map[filename] = (size, 1.0 * size / count) |
||||
return size, 1.0 * size / count |
||||
|
||||
|
||||
def __extract_file_name(file_name): |
||||
name_list = re.split(r"[/\.]", file_name) |
||||
short_file_name = "" |
||||
for name in name_list: |
||||
if name[:14] == "google_message": |
||||
short_file_name = name |
||||
return short_file_name |
||||
|
||||
|
||||
__results = [] |
||||
|
||||
|
||||
# CPP results example: |
||||
# [ |
||||
# "benchmarks": [ |
||||
# { |
||||
# "bytes_per_second": int, |
||||
# "cpu_time_ns": double, |
||||
# "iterations": int, |
||||
# "name: string, |
||||
# "real_time_ns: double, |
||||
# ... |
||||
# }, |
||||
# ... |
||||
# ], |
||||
# ... |
||||
# ] |
||||
def __parse_cpp_result(filename): |
||||
if filename == "": |
||||
return |
||||
if filename[0] != '/': |
||||
filename = os.path.dirname(os.path.abspath(__file__)) + '/' + filename |
||||
with open(filename, encoding="utf-8") as f: |
||||
results = json.loads(f.read()) |
||||
for benchmark in results["benchmarks"]: |
||||
data_filename = "".join( |
||||
re.split("(_parse_|_serialize)", benchmark["name"])[0]) |
||||
behavior = benchmark["name"][len(data_filename) + 1:] |
||||
if data_filename[:2] == "BM": |
||||
data_filename = data_filename[3:] |
||||
__results.append({ |
||||
"language": "cpp", |
||||
"dataFilename": data_filename, |
||||
"behavior": behavior, |
||||
"throughput": benchmark["bytes_per_second"] / 2.0 ** 20 |
||||
}) |
||||
|
||||
|
||||
# Synthetic benchmark results example: |
||||
# [ |
||||
# "benchmarks": [ |
||||
# { |
||||
# "cpu_time_ns": double, |
||||
# "iterations": int, |
||||
# "name: string, |
||||
# "real_time_ns: double, |
||||
# ... |
||||
# }, |
||||
# ... |
||||
# ], |
||||
# ... |
||||
# ] |
||||
def __parse_synthetic_result(filename): |
||||
if filename == "": |
||||
return |
||||
if filename[0] != "/": |
||||
filename = os.path.dirname(os.path.abspath(__file__)) + "/" + filename |
||||
with open(filename, encoding="utf-8") as f: |
||||
results = json.loads(f.read()) |
||||
for benchmark in results["benchmarks"]: |
||||
__results.append({ |
||||
"language": "cpp", |
||||
"dataFilename": "", |
||||
"behavior": "synthetic", |
||||
"throughput": 10.0**9 / benchmark["cpu_time_ns"] |
||||
}) |
||||
|
||||
|
||||
# Python results example: |
||||
# [ |
||||
# [ |
||||
# { |
||||
# "filename": string, |
||||
# "benchmarks": { |
||||
# behavior: results, |
||||
# ... |
||||
# }, |
||||
# }, |
||||
# ... |
||||
# ], #pure-python |
||||
# ... |
||||
# ] |
||||
def __parse_python_result(filename): |
||||
if filename == "": |
||||
return |
||||
if filename[0] != '/': |
||||
filename = os.path.dirname(os.path.abspath(__file__)) + '/' + filename |
||||
with open(filename, encoding="utf-8") as f: |
||||
results_list = json.loads(f.read()) |
||||
for results in results_list: |
||||
for result in results: |
||||
_, avg_size = __get_data_size(result["filename"]) |
||||
for behavior in result["benchmarks"]: |
||||
__results.append({ |
||||
"language": "python", |
||||
"dataFilename": __extract_file_name(result["filename"]), |
||||
"behavior": behavior, |
||||
"throughput": result["benchmarks"][behavior] |
||||
}) |
||||
|
||||
|
||||
# Java results example: |
||||
# [ |
||||
# { |
||||
# "id": string, |
||||
# "instrumentSpec": {...}, |
||||
# "measurements": [ |
||||
# { |
||||
# "weight": float, |
||||
# "value": { |
||||
# "magnitude": float, |
||||
# "unit": string |
||||
# }, |
||||
# ... |
||||
# }, |
||||
# ... |
||||
# ], |
||||
# "run": {...}, |
||||
# "scenario": { |
||||
# "benchmarkSpec": { |
||||
# "methodName": string, |
||||
# "parameters": { |
||||
# defined parameters in the benchmark: parameters value |
||||
# }, |
||||
# ... |
||||
# }, |
||||
# ... |
||||
# } |
||||
# |
||||
# }, |
||||
# ... |
||||
# ] |
||||
def __parse_java_result(filename): |
||||
if filename == "": |
||||
return |
||||
if filename[0] != '/': |
||||
filename = os.path.dirname(os.path.abspath(__file__)) + '/' + filename |
||||
with open(filename, encoding="utf-8") as f: |
||||
results = json.loads(f.read()) |
||||
for result in results: |
||||
total_weight = 0 |
||||
total_value = 0 |
||||
for measurement in result["measurements"]: |
||||
total_weight += measurement["weight"] |
||||
total_value += measurement["value"]["magnitude"] |
||||
avg_time = total_value * 1.0 / total_weight |
||||
total_size, _ = __get_data_size( |
||||
result["scenario"]["benchmarkSpec"]["parameters"]["dataFile"]) |
||||
__results.append({ |
||||
"language": "java", |
||||
"throughput": total_size / avg_time * 1e9 / 2 ** 20, |
||||
"behavior": result["scenario"]["benchmarkSpec"]["methodName"], |
||||
"dataFilename": __extract_file_name( |
||||
result["scenario"]["benchmarkSpec"]["parameters"]["dataFile"]) |
||||
}) |
||||
|
||||
|
||||
# Go benchmark results: |
||||
# |
||||
# goos: linux |
||||
# goarch: amd64 |
||||
# Benchmark/.././datasets/google_message2/dataset.google_message2.pb/Unmarshal-12 3000 705784 ns/op |
||||
# Benchmark/.././datasets/google_message2/dataset.google_message2.pb/Marshal-12 2000 634648 ns/op |
||||
# Benchmark/.././datasets/google_message2/dataset.google_message2.pb/Size-12 5000 244174 ns/op |
||||
# Benchmark/.././datasets/google_message2/dataset.google_message2.pb/Clone-12 300 4120954 ns/op |
||||
# Benchmark/.././datasets/google_message2/dataset.google_message2.pb/Merge-12 300 4108632 ns/op |
||||
# PASS |
||||
# ok _/usr/local/google/home/yilunchong/mygit/protobuf/benchmarks 124.173s |
||||
def __parse_go_result(filename): |
||||
if filename == "": |
||||
return |
||||
if filename[0] != '/': |
||||
filename = os.path.dirname(os.path.abspath(__file__)) + '/' + filename |
||||
with open(filename, encoding="utf-8") as f: |
||||
for line in f: |
||||
result_list = re.split(r"[\ \t]+", line) |
||||
if result_list[0][:9] != "Benchmark": |
||||
continue |
||||
first_slash_index = result_list[0].find('/') |
||||
last_slash_index = result_list[0].rfind('/') |
||||
full_filename = result_list[0][first_slash_index+1:last_slash_index] |
||||
total_bytes, _ = __get_data_size(full_filename) |
||||
behavior_with_suffix = result_list[0][last_slash_index+1:] |
||||
last_dash = behavior_with_suffix.rfind("-") |
||||
if last_dash == -1: |
||||
behavior = behavior_with_suffix |
||||
else: |
||||
behavior = behavior_with_suffix[:last_dash] |
||||
__results.append({ |
||||
"dataFilename": __extract_file_name(full_filename), |
||||
"throughput": total_bytes / float(result_list[2]) * 1e9 / 2 ** 20, |
||||
"behavior": behavior, |
||||
"language": "go" |
||||
}) |
||||
|
||||
|
||||
# Self built json results example: |
||||
# |
||||
# [ |
||||
# { |
||||
# "filename": string, |
||||
# "benchmarks": { |
||||
# behavior: results, |
||||
# ... |
||||
# }, |
||||
# }, |
||||
# ... |
||||
# ] |
||||
def __parse_custom_result(filename, language): |
||||
if filename == "": |
||||
return |
||||
if filename[0] != '/': |
||||
filename = os.path.dirname(os.path.abspath(__file__)) + '/' + filename |
||||
with open(filename, encoding="utf-8") as f: |
||||
results = json.loads(f.read()) |
||||
for result in results: |
||||
_, avg_size = __get_data_size(result["filename"]) |
||||
for behavior in result["benchmarks"]: |
||||
__results.append({ |
||||
"language": language, |
||||
"dataFilename": __extract_file_name(result["filename"]), |
||||
"behavior": behavior, |
||||
"throughput": result["benchmarks"][behavior] |
||||
}) |
||||
|
||||
|
||||
def __parse_js_result(filename, language): |
||||
return __parse_custom_result(filename, language) |
||||
|
||||
def __parse_php_result(filename, language): |
||||
return __parse_custom_result(filename, language) |
||||
|
||||
|
||||
def get_result_from_file(cpp_file="", |
||||
java_file="", |
||||
python_file="", |
||||
go_file="", |
||||
synthetic_file="", |
||||
node_file="", |
||||
php_c_file="", |
||||
php_file=""): |
||||
results = {} |
||||
if cpp_file != "": |
||||
__parse_cpp_result(cpp_file) |
||||
if java_file != "": |
||||
__parse_java_result(java_file) |
||||
if python_file != "": |
||||
__parse_python_result(python_file) |
||||
if go_file != "": |
||||
__parse_go_result(go_file) |
||||
if synthetic_file != "": |
||||
__parse_synthetic_result(synthetic_file) |
||||
if node_file != "": |
||||
__parse_js_result(node_file, "node") |
||||
if php_file != "": |
||||
__parse_php_result(php_file, "php") |
||||
if php_c_file != "": |
||||
__parse_php_result(php_c_file, "php") |
||||
|
||||
return __results |
||||
|
||||
|
||||
if __name__ == "__main__": |
||||
parser = argparse.ArgumentParser() |
||||
parser.add_argument( |
||||
"-cpp", |
||||
"--cpp_input_file", |
||||
help="The CPP benchmark result file's name", |
||||
default="") |
||||
parser.add_argument( |
||||
"-java", |
||||
"--java_input_file", |
||||
help="The Java benchmark result file's name", |
||||
default="") |
||||
parser.add_argument( |
||||
"-python", |
||||
"--python_input_file", |
||||
help="The Python benchmark result file's name", |
||||
default="") |
||||
parser.add_argument( |
||||
"-go", |
||||
"--go_input_file", |
||||
help="The golang benchmark result file's name", |
||||
default="") |
||||
parser.add_argument( |
||||
"-node", |
||||
"--node_input_file", |
||||
help="The node.js benchmark result file's name", |
||||
default="") |
||||
parser.add_argument( |
||||
"-php", |
||||
"--php_input_file", |
||||
help="The pure php benchmark result file's name", |
||||
default="") |
||||
parser.add_argument( |
||||
"-php_c", |
||||
"--php_c_input_file", |
||||
help="The php with c ext benchmark result file's name", |
||||
default="") |
||||
args = parser.parse_args() |
||||
|
||||
results = get_result_from_file( |
||||
cpp_file=args.cpp_input_file, |
||||
java_file=args.java_input_file, |
||||
python_file=args.python_input_file, |
||||
go_file=args.go_input_file, |
||||
node_file=args.node_input_file, |
||||
php_file=args.php_input_file, |
||||
php_c_file=args.php_c_input_file, |
||||
) |
||||
print(json.dumps(results, indent=2)) |
@ -1,107 +0,0 @@ |
||||
from __future__ import print_function |
||||
from __future__ import absolute_import |
||||
import argparse |
||||
import os |
||||
import re |
||||
import copy |
||||
import uuid |
||||
import calendar |
||||
import time |
||||
import datetime |
||||
|
||||
from util import big_query_utils |
||||
from util import result_parser |
||||
|
||||
_PROJECT_ID = 'grpc-testing' |
||||
_DATASET = 'protobuf_benchmark_result' |
||||
_TABLE = 'opensource_result_v2' |
||||
_NOW = "%d%02d%02d" % (datetime.datetime.now().year, |
||||
datetime.datetime.now().month, |
||||
datetime.datetime.now().day) |
||||
|
||||
_INITIAL_TIME = calendar.timegm(time.gmtime()) |
||||
|
||||
def get_metadata(): |
||||
build_number = os.getenv('BUILD_NUMBER') |
||||
build_url = os.getenv('BUILD_URL') |
||||
job_name = os.getenv('JOB_NAME') |
||||
git_commit = os.getenv('GIT_COMMIT') |
||||
# actual commit is the actual head of PR that is getting tested |
||||
git_actual_commit = os.getenv('ghprbActualCommit') |
||||
|
||||
utc_timestamp = str(calendar.timegm(time.gmtime())) |
||||
metadata = {'created': utc_timestamp} |
||||
|
||||
if build_number: |
||||
metadata['buildNumber'] = build_number |
||||
if build_url: |
||||
metadata['buildUrl'] = build_url |
||||
if job_name: |
||||
metadata['jobName'] = job_name |
||||
if git_commit: |
||||
metadata['gitCommit'] = git_commit |
||||
if git_actual_commit: |
||||
metadata['gitActualCommit'] = git_actual_commit |
||||
|
||||
return metadata |
||||
|
||||
|
||||
def upload_result(result_list, metadata): |
||||
for result in result_list: |
||||
new_result = {} |
||||
new_result["metric"] = "throughput" |
||||
new_result["value"] = result["throughput"] |
||||
new_result["unit"] = "MB/s" |
||||
new_result["test"] = "protobuf_benchmark" |
||||
new_result["product_name"] = "protobuf" |
||||
labels_string = "" |
||||
for key in result: |
||||
labels_string += ",|%s:%s|" % (key, result[key]) |
||||
new_result["labels"] = labels_string[1:] |
||||
new_result["timestamp"] = _INITIAL_TIME |
||||
print(labels_string) |
||||
|
||||
bq = big_query_utils.create_big_query() |
||||
row = big_query_utils.make_row(str(uuid.uuid4()), new_result) |
||||
if not big_query_utils.insert_rows(bq, _PROJECT_ID, _DATASET, |
||||
_TABLE + "$" + _NOW, |
||||
[row]): |
||||
print('Error when uploading result', new_result) |
||||
|
||||
|
||||
if __name__ == "__main__": |
||||
parser = argparse.ArgumentParser() |
||||
parser.add_argument("-cpp", "--cpp_input_file", |
||||
help="The CPP benchmark result file's name", |
||||
default="") |
||||
parser.add_argument("-java", "--java_input_file", |
||||
help="The Java benchmark result file's name", |
||||
default="") |
||||
parser.add_argument("-python", "--python_input_file", |
||||
help="The Python benchmark result file's name", |
||||
default="") |
||||
parser.add_argument("-go", "--go_input_file", |
||||
help="The golang benchmark result file's name", |
||||
default="") |
||||
parser.add_argument("-node", "--node_input_file", |
||||
help="The node.js benchmark result file's name", |
||||
default="") |
||||
parser.add_argument("-php", "--php_input_file", |
||||
help="The pure php benchmark result file's name", |
||||
default="") |
||||
parser.add_argument("-php_c", "--php_c_input_file", |
||||
help="The php with c ext benchmark result file's name", |
||||
default="") |
||||
args = parser.parse_args() |
||||
|
||||
metadata = get_metadata() |
||||
print("uploading results...") |
||||
upload_result(result_parser.get_result_from_file( |
||||
cpp_file=args.cpp_input_file, |
||||
java_file=args.java_input_file, |
||||
python_file=args.python_input_file, |
||||
go_file=args.go_input_file, |
||||
node_file=args.node_input_file, |
||||
php_file=args.php_input_file, |
||||
php_c_file=args.php_c_input_file, |
||||
), metadata) |
@ -1,206 +0,0 @@ |
||||
#ifndef PROTOBUF_BENCHMARKS_UTIL_SCHEMA_PROTO2_TO_PROTO3_UTIL_H_ |
||||
#define PROTOBUF_BENCHMARKS_UTIL_SCHEMA_PROTO2_TO_PROTO3_UTIL_H_ |
||||
|
||||
#include "google/protobuf/message.h" |
||||
#include "google/protobuf/descriptor.h" |
||||
#include "google/protobuf/descriptor.pb.h" |
||||
|
||||
#include <sstream> |
||||
#include <algorithm> |
||||
|
||||
using google::protobuf::Descriptor; |
||||
using google::protobuf::DescriptorProto; |
||||
using google::protobuf::FileDescriptorProto; |
||||
using google::protobuf::FieldDescriptorProto; |
||||
using google::protobuf::Message; |
||||
using google::protobuf::EnumValueDescriptorProto; |
||||
|
||||
namespace google { |
||||
namespace protobuf { |
||||
namespace util { |
||||
|
||||
class SchemaGroupStripper { |
||||
|
||||
public: |
||||
static void StripFile(const FileDescriptor* old_file, |
||||
FileDescriptorProto *file) { |
||||
for (int i = file->mutable_message_type()->size() - 1; i >= 0; i--) { |
||||
if (IsMessageSet(old_file->message_type(i))) { |
||||
file->mutable_message_type()->DeleteSubrange(i, 1); |
||||
continue; |
||||
} |
||||
StripMessage(old_file->message_type(i), file->mutable_message_type(i)); |
||||
} |
||||
for (int i = file->mutable_extension()->size() - 1; i >= 0; i--) { |
||||
auto field = old_file->extension(i); |
||||
if (field->type() == FieldDescriptor::TYPE_GROUP || |
||||
IsMessageSet(field->message_type()) || |
||||
IsMessageSet(field->containing_type())) { |
||||
file->mutable_extension()->DeleteSubrange(i, 1); |
||||
} |
||||
} |
||||
} |
||||
|
||||
private: |
||||
static bool IsMessageSet(const Descriptor *descriptor) { |
||||
if (descriptor != nullptr |
||||
&& descriptor->options().message_set_wire_format()) { |
||||
return true; |
||||
} |
||||
return false; |
||||
} |
||||
|
||||
static void StripMessage(const Descriptor *old_message, |
||||
DescriptorProto *new_message) { |
||||
for (int i = new_message->mutable_field()->size() - 1; i >= 0; i--) { |
||||
if (old_message->field(i)->type() == FieldDescriptor::TYPE_GROUP || |
||||
IsMessageSet(old_message->field(i)->message_type())) { |
||||
new_message->mutable_field()->DeleteSubrange(i, 1); |
||||
} |
||||
} |
||||
for (int i = new_message->mutable_extension()->size() - 1; i >= 0; i--) { |
||||
auto field_type_name = new_message->mutable_extension(i)->type_name(); |
||||
if (old_message->extension(i)->type() == FieldDescriptor::TYPE_GROUP || |
||||
IsMessageSet(old_message->extension(i)->containing_type()) || |
||||
IsMessageSet(old_message->extension(i)->message_type())) { |
||||
new_message->mutable_extension()->DeleteSubrange(i, 1); |
||||
} |
||||
} |
||||
for (int i = 0; i < new_message->mutable_nested_type()->size(); i++) { |
||||
StripMessage(old_message->nested_type(i), |
||||
new_message->mutable_nested_type(i)); |
||||
} |
||||
} |
||||
|
||||
}; |
||||
|
||||
class EnumScrubber { |
||||
|
||||
public: |
||||
EnumScrubber() |
||||
: total_added_(0) { |
||||
} |
||||
|
||||
void ScrubFile(FileDescriptorProto *file) { |
||||
for (int i = 0; i < file->enum_type_size(); i++) { |
||||
ScrubEnum(file->mutable_enum_type(i)); |
||||
} |
||||
for (int i = 0; i < file->mutable_message_type()->size(); i++) { |
||||
ScrubMessage(file->mutable_message_type(i)); |
||||
} |
||||
} |
||||
|
||||
private: |
||||
void ScrubEnum(EnumDescriptorProto *enum_type) { |
||||
if (enum_type->value(0).number() != 0) { |
||||
bool has_zero = false; |
||||
for (int j = 0; j < enum_type->value().size(); j++) { |
||||
if (enum_type->value(j).number() == 0) { |
||||
EnumValueDescriptorProto temp_enum_value; |
||||
temp_enum_value.CopyFrom(enum_type->value(j)); |
||||
enum_type->mutable_value(j)->CopyFrom(enum_type->value(0)); |
||||
enum_type->mutable_value(0)->CopyFrom(temp_enum_value); |
||||
has_zero = true; |
||||
break; |
||||
} |
||||
} |
||||
if (!has_zero) { |
||||
enum_type->mutable_value()->Add(); |
||||
for (int i = enum_type->mutable_value()->size() - 1; i > 0; i--) { |
||||
enum_type->mutable_value(i)->CopyFrom( |
||||
*enum_type->mutable_value(i - 1)); |
||||
} |
||||
enum_type->mutable_value(0)->set_number(0); |
||||
enum_type->mutable_value(0)->set_name("ADDED_ZERO_VALUE_" + |
||||
std::to_string(total_added_++)); |
||||
} |
||||
} |
||||
|
||||
} |
||||
|
||||
void ScrubMessage(DescriptorProto *message_type) { |
||||
for (int i = 0; i < message_type->mutable_enum_type()->size(); i++) { |
||||
ScrubEnum(message_type->mutable_enum_type(i)); |
||||
} |
||||
for (int i = 0; i < message_type->mutable_nested_type()->size(); i++) { |
||||
ScrubMessage(message_type->mutable_nested_type(i)); |
||||
} |
||||
} |
||||
|
||||
int total_added_; |
||||
}; |
||||
|
||||
class ExtensionStripper { |
||||
public: |
||||
static void StripFile(FileDescriptorProto *file) { |
||||
for (int i = 0; i < file->mutable_message_type()->size(); i++) { |
||||
StripMessage(file->mutable_message_type(i)); |
||||
} |
||||
file->mutable_extension()->Clear(); |
||||
} |
||||
private: |
||||
static void StripMessage(DescriptorProto *message_type) { |
||||
message_type->mutable_extension()->Clear(); |
||||
message_type->clear_extension_range(); |
||||
for (int i = 0; i < message_type->mutable_nested_type()->size(); i++) { |
||||
StripMessage(message_type->mutable_nested_type(i)); |
||||
} |
||||
} |
||||
}; |
||||
|
||||
|
||||
class FieldScrubber { |
||||
public: |
||||
static void ScrubFile(FileDescriptorProto *file) { |
||||
for (int i = 0; i < file->mutable_message_type()->size(); i++) { |
||||
ScrubMessage(file->mutable_message_type(i)); |
||||
} |
||||
for (int i = 0; i < file->mutable_extension()->size(); i++) { |
||||
file->mutable_extension(i)->clear_default_value(); |
||||
if (ShouldClearLabel(file->mutable_extension(i))) { |
||||
file->mutable_extension(i)->clear_label(); |
||||
} |
||||
} |
||||
} |
||||
private: |
||||
static bool ShouldClearLabel(const FieldDescriptorProto *field) { |
||||
return field->label() == FieldDescriptorProto::LABEL_REQUIRED; |
||||
} |
||||
|
||||
static void ScrubMessage(DescriptorProto *message_type) { |
||||
message_type->mutable_extension()->Clear(); |
||||
for (int i = 0; i < message_type->mutable_extension()->size(); i++) { |
||||
message_type->mutable_extension(i)->clear_default_value(); |
||||
if (ShouldClearLabel(message_type->mutable_extension(i))) { |
||||
message_type->mutable_extension(i)->clear_label(); |
||||
} |
||||
} |
||||
for (int i = 0; i < message_type->mutable_field()->size(); i++) { |
||||
message_type->mutable_field(i)->clear_default_value(); |
||||
if (ShouldClearLabel(message_type->mutable_field(i))) { |
||||
message_type->mutable_field(i)->clear_label(); |
||||
} |
||||
} |
||||
for (int i = 0; i < message_type->mutable_nested_type()->size(); i++) { |
||||
ScrubMessage(message_type->mutable_nested_type(i)); |
||||
} |
||||
} |
||||
}; |
||||
|
||||
class ImportScrubber { |
||||
public: |
||||
static std::string ScrubFilename(const std::string &filename) { |
||||
return filename + "3"; |
||||
} |
||||
static void ScrubFile(FileDescriptorProto *file) { |
||||
for (std::string &import : *file->mutable_dependency()) { |
||||
import += "3"; |
||||
} |
||||
} |
||||
}; |
||||
|
||||
} // namespace util
|
||||
} // namespace protobuf
|
||||
} // namespace google
|
||||
|
||||
#endif // PROTOBUF_BENCHMARKS_UTIL_SCHEMA_PROTO2_TO_PROTO3_UTIL_H_
|
Loading…
Reference in new issue