From 74f62c0475665aeb68c6bd84b9fff4ffbae0e6df Mon Sep 17 00:00:00 2001 From: Sigurd Meldgaard Date: Fri, 14 Dec 2018 13:39:18 +0100 Subject: [PATCH] Adding benchmarks for running in golem (#142) * first stab at a benchmark for running in golem. --- .travis.yml | 13 +- analysis_options.yaml | 3 + query_benchmark/bin/decode.dart | 19 ++ query_benchmark/bin/decode_json.dart | 21 ++ query_benchmark/bin/encode.dart | 19 ++ query_benchmark/bin/encode_json.dart | 20 ++ query_benchmark/bin/set_nested_value.dart | 27 ++ query_benchmark/compile_protos.sh | 5 + query_benchmark/lib/benchmark.dart | 22 ++ query_benchmark/lib/readfile.dart | 5 + query_benchmark/lib/readfile_d8.dart | 21 ++ query_benchmark/lib/readfile_vm.dart | 9 + query_benchmark/mono_pkg.yaml | 11 + query_benchmark/protos/f0.proto | 22 ++ query_benchmark/protos/f1.proto | 43 +++ query_benchmark/protos/f10.proto | 21 ++ query_benchmark/protos/f11.proto | 17 ++ query_benchmark/protos/f12.proto | 129 ++++++++ query_benchmark/protos/f13.proto | 10 + query_benchmark/protos/f14.proto | 32 ++ query_benchmark/protos/f15.proto | 28 ++ query_benchmark/protos/f16.proto | 31 ++ query_benchmark/protos/f17.proto | 16 + query_benchmark/protos/f18.proto | 32 ++ query_benchmark/protos/f19.proto | 29 ++ query_benchmark/protos/f2.proto | 65 ++++ query_benchmark/protos/f20.proto | 16 + query_benchmark/protos/f21.proto | 13 + query_benchmark/protos/f22.proto | 96 ++++++ query_benchmark/protos/f23.proto | 95 ++++++ query_benchmark/protos/f24.proto | 10 + query_benchmark/protos/f25.proto | 25 ++ query_benchmark/protos/f26.proto | 30 ++ query_benchmark/protos/f27.proto | 11 + query_benchmark/protos/f28.proto | 79 +++++ query_benchmark/protos/f3.proto | 20 ++ query_benchmark/protos/f4.proto | 81 +++++ query_benchmark/protos/f5.proto | 351 ++++++++++++++++++++++ query_benchmark/protos/f6.proto | 14 + query_benchmark/protos/f7.proto | 11 + query_benchmark/protos/f8.proto | 63 ++++ query_benchmark/protos/f9.proto | 36 +++ query_benchmark/pubspec.yaml | 20 ++ query_benchmark/run_protoc_plugin.sh | 2 + query_benchmark/testdata/500.pb | Bin 0 -> 251369 bytes tool/travis.sh | 9 +- 46 files changed, 1646 insertions(+), 6 deletions(-) create mode 100644 analysis_options.yaml create mode 100644 query_benchmark/bin/decode.dart create mode 100644 query_benchmark/bin/decode_json.dart create mode 100644 query_benchmark/bin/encode.dart create mode 100644 query_benchmark/bin/encode_json.dart create mode 100644 query_benchmark/bin/set_nested_value.dart create mode 100755 query_benchmark/compile_protos.sh create mode 100644 query_benchmark/lib/benchmark.dart create mode 100644 query_benchmark/lib/readfile.dart create mode 100644 query_benchmark/lib/readfile_d8.dart create mode 100644 query_benchmark/lib/readfile_vm.dart create mode 100644 query_benchmark/mono_pkg.yaml create mode 100644 query_benchmark/protos/f0.proto create mode 100644 query_benchmark/protos/f1.proto create mode 100644 query_benchmark/protos/f10.proto create mode 100644 query_benchmark/protos/f11.proto create mode 100644 query_benchmark/protos/f12.proto create mode 100644 query_benchmark/protos/f13.proto create mode 100644 query_benchmark/protos/f14.proto create mode 100644 query_benchmark/protos/f15.proto create mode 100644 query_benchmark/protos/f16.proto create mode 100644 query_benchmark/protos/f17.proto create mode 100644 query_benchmark/protos/f18.proto create mode 100644 query_benchmark/protos/f19.proto create mode 100644 query_benchmark/protos/f2.proto create mode 100644 query_benchmark/protos/f20.proto create mode 100644 query_benchmark/protos/f21.proto create mode 100644 query_benchmark/protos/f22.proto create mode 100644 query_benchmark/protos/f23.proto create mode 100644 query_benchmark/protos/f24.proto create mode 100644 query_benchmark/protos/f25.proto create mode 100644 query_benchmark/protos/f26.proto create mode 100644 query_benchmark/protos/f27.proto create mode 100644 query_benchmark/protos/f28.proto create mode 100644 query_benchmark/protos/f3.proto create mode 100644 query_benchmark/protos/f4.proto create mode 100644 query_benchmark/protos/f5.proto create mode 100644 query_benchmark/protos/f6.proto create mode 100644 query_benchmark/protos/f7.proto create mode 100644 query_benchmark/protos/f8.proto create mode 100644 query_benchmark/protos/f9.proto create mode 100644 query_benchmark/pubspec.yaml create mode 100755 query_benchmark/run_protoc_plugin.sh create mode 100644 query_benchmark/testdata/500.pb diff --git a/.travis.yml b/.travis.yml index ef575e0780892..05894d76203f4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -37,24 +37,29 @@ jobs: dart: dev - stage: format_analyzer_tests name: "SDK: dev - DIR: protoc_plugin - TASKS: [make protos, dartanalyzer --fatal-infos --fatal-warnings .]" - script: ./tool/travis.sh command dartanalyzer_0 + script: ./tool/travis.sh command_0 dartanalyzer_0 env: PKG="protoc_plugin" dart: dev - stage: format_analyzer_tests name: "SDK: stable - DIR: protoc_plugin - TASKS: [make protos, dartfmt -n --set-exit-if-changed ., dartanalyzer --fatal-warnings .]" - script: ./tool/travis.sh command dartfmt dartanalyzer_1 + script: ./tool/travis.sh command_0 dartfmt dartanalyzer_1 env: PKG="protoc_plugin" dart: stable - stage: format_analyzer_tests name: "SDK: stable - DIR: protoc_plugin - TASKS: [make protos, pub run test]" - script: ./tool/travis.sh command test + script: ./tool/travis.sh command_0 test env: PKG="protoc_plugin" dart: stable - stage: format_analyzer_tests name: "SDK: dev - DIR: protoc_plugin - TASKS: [make protos, pub run test]" - script: ./tool/travis.sh command test + script: ./tool/travis.sh command_0 test env: PKG="protoc_plugin" dart: dev + - stage: format_analyzer_tests + name: "SDK: stable - DIR: query_benchmark - TASKS: [./compile_protos.sh, dartfmt -n --set-exit-if-changed ., dartanalyzer --fatal-warnings .]" + script: ./tool/travis.sh command_1 dartfmt dartanalyzer_1 + env: PKG="query_benchmark" + dart: stable stages: - format_analyzer_tests diff --git a/analysis_options.yaml b/analysis_options.yaml new file mode 100644 index 0000000000000..76538c76b4047 --- /dev/null +++ b/analysis_options.yaml @@ -0,0 +1,3 @@ +analyzer: + exclude: + - benchmarks/query_benchmark/** diff --git a/query_benchmark/bin/decode.dart b/query_benchmark/bin/decode.dart new file mode 100644 index 0000000000000..83de4b6eac098 --- /dev/null +++ b/query_benchmark/bin/decode.dart @@ -0,0 +1,19 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +import 'package:query_benchmark/generated/f0.pb.dart' as f0; +import 'package:query_benchmark/benchmark.dart'; +import 'package:query_benchmark/readfile.dart'; + +main() { + String path = const String.fromEnvironment('testfile') ?? 'testdata/500.pb'; + + List encoded = readfile(path); + print( + formatReport( + title: 'protobuf_decode', + duration: measure(() => f0.A0.fromBuffer(encoded)), + ), + ); +} diff --git a/query_benchmark/bin/decode_json.dart b/query_benchmark/bin/decode_json.dart new file mode 100644 index 0000000000000..64d365db4bc94 --- /dev/null +++ b/query_benchmark/bin/decode_json.dart @@ -0,0 +1,21 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +import 'package:query_benchmark/generated/f0.pb.dart' as f0; +import 'package:query_benchmark/benchmark.dart'; +import 'package:query_benchmark/readfile.dart'; + +main() { + String path = const String.fromEnvironment('testfile') ?? 'testdata/500.pb'; + + List encoded = readfile(path); + f0.A0 a = f0.A0.fromBuffer(encoded); + String json = a.writeToJson(); + print( + formatReport( + title: 'protobuf_decode_json', + duration: measure(() => f0.A0.fromJson(json)), + ), + ); +} diff --git a/query_benchmark/bin/encode.dart b/query_benchmark/bin/encode.dart new file mode 100644 index 0000000000000..2fb2d537b8d0b --- /dev/null +++ b/query_benchmark/bin/encode.dart @@ -0,0 +1,19 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +import 'package:query_benchmark/generated/f0.pb.dart' as f0; +import 'package:query_benchmark/benchmark.dart'; +import 'package:query_benchmark/readfile.dart'; + +main() { + String path = const String.fromEnvironment('testfile') ?? 'testdata/500.pb'; + List encoded = readfile(path); + f0.A0 a = f0.A0.fromBuffer(encoded); + print( + formatReport( + title: 'protobuf_encode', + duration: measure(() => a.writeToBuffer()), + ), + ); +} diff --git a/query_benchmark/bin/encode_json.dart b/query_benchmark/bin/encode_json.dart new file mode 100644 index 0000000000000..faa95ff9e196a --- /dev/null +++ b/query_benchmark/bin/encode_json.dart @@ -0,0 +1,20 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +import 'package:query_benchmark/generated/f0.pb.dart' as f0; +import 'package:query_benchmark/benchmark.dart'; +import 'package:query_benchmark/readfile.dart'; + +main() { + String path = const String.fromEnvironment('testfile') ?? 'testdata/500.pb'; + + List encoded = readfile(path); + f0.A0 a = f0.A0.fromBuffer(encoded); + print( + formatReport( + title: 'protobuf_encode_json', + duration: measure(() => a.writeToJson()), + ), + ); +} diff --git a/query_benchmark/bin/set_nested_value.dart b/query_benchmark/bin/set_nested_value.dart new file mode 100644 index 0000000000000..94698a025d217 --- /dev/null +++ b/query_benchmark/bin/set_nested_value.dart @@ -0,0 +1,27 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +import 'package:query_benchmark/generated/f0.pb.dart' as f0; +import 'package:query_benchmark/generated/f2.pb.dart' as f2; +import 'package:query_benchmark/generated/f19.pb.dart' as f19; +import 'package:query_benchmark/benchmark.dart'; +import 'package:query_benchmark/readfile.dart'; + +main() { + String path = const String.fromEnvironment('testfile') ?? 'testdata/500.pb'; + + List encoded = readfile(path); + f0.A0 a = f0.A0.fromBuffer(encoded)..freeze(); + print( + formatReport( + title: 'protobuf_decode', + duration: measure(() => a.copyWith((f0.A0 a0Builder) { + a0Builder.a4.last = a0Builder.a4.last.copyWith((f2.A1 a1builder) { + a1builder.a378.copyWith( + (f19.A220 a220builder) => a220builder.a234 = 'new_value'); + }); + })), + ), + ); +} diff --git a/query_benchmark/compile_protos.sh b/query_benchmark/compile_protos.sh new file mode 100755 index 0000000000000..4423e5e0a6c45 --- /dev/null +++ b/query_benchmark/compile_protos.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +rm -rf lib/generated +mkdir lib/generated +protoc --dart_out=lib/generated --plugin=protoc-gen-dart=run_protoc_plugin.sh -Iprotos protos/*.proto +dartfmt -w lib/generated diff --git a/query_benchmark/lib/benchmark.dart b/query_benchmark/lib/benchmark.dart new file mode 100644 index 0000000000000..1c355534660fb --- /dev/null +++ b/query_benchmark/lib/benchmark.dart @@ -0,0 +1,22 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +/// Returns the average time to execute [f] over [iterations] repetitions. +/// +/// Will first run [f] [warmupIterations] times to warm up the runtime. +Duration measure(void Function() f, + {int warmupIterations = 100, int iterations = 1000}) { + for (int i = 0; i < warmupIterations; i++) { + f(); + } + var s = Stopwatch()..start(); + for (int i = 0; i < iterations; i++) { + f(); + } + return s.elapsed ~/ iterations; +} + +String formatReport({String title, Duration duration}) { + return "RunTimeRaw($title): ${duration.inMicroseconds} us"; +} diff --git a/query_benchmark/lib/readfile.dart b/query_benchmark/lib/readfile.dart new file mode 100644 index 0000000000000..b4614ea79c9f8 --- /dev/null +++ b/query_benchmark/lib/readfile.dart @@ -0,0 +1,5 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +export 'readfile_vm.dart' if (dart.library.js) 'readfile_d8.dart' show readfile; diff --git a/query_benchmark/lib/readfile_d8.dart b/query_benchmark/lib/readfile_d8.dart new file mode 100644 index 0000000000000..240dd92ec8e84 --- /dev/null +++ b/query_benchmark/lib/readfile_d8.dart @@ -0,0 +1,21 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +import 'dart:js' as js; + +import 'dart:typed_data'; + +/// Reads the file at the given [path] and return its contents in a List. +Uint8List readfile(String path) { + // d8 specific implementation. + js.JsObject jsArrayBuffer = js.context.callMethod('readbuffer', [path]); + int length = jsArrayBuffer['byteLength']; + js.JsObject jsInt8View = + new js.JsObject(js.context['Int8Array'], [jsArrayBuffer]); + Uint8List result = new Uint8List(length); + for (int i = 0; i < length; i++) { + result[i] = jsInt8View[i]; + } + return result; +} diff --git a/query_benchmark/lib/readfile_vm.dart b/query_benchmark/lib/readfile_vm.dart new file mode 100644 index 0000000000000..ddaa535d112b6 --- /dev/null +++ b/query_benchmark/lib/readfile_vm.dart @@ -0,0 +1,9 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +import 'dart:io'; + +List readfile(String path) { + return new File(path).readAsBytesSync(); +} diff --git a/query_benchmark/mono_pkg.yaml b/query_benchmark/mono_pkg.yaml new file mode 100644 index 0000000000000..1ed6903890f5e --- /dev/null +++ b/query_benchmark/mono_pkg.yaml @@ -0,0 +1,11 @@ +# See https://github.com/dart-lang/mono_repo for details +dart: + - stable + +stages: + - format_analyzer_tests: + - group: + - command: ./compile_protos.sh + - dartfmt + - dartanalyzer: --fatal-warnings . + dart: [stable] diff --git a/query_benchmark/protos/f0.proto b/query_benchmark/protos/f0.proto new file mode 100644 index 0000000000000..cd22517cf5cf2 --- /dev/null +++ b/query_benchmark/protos/f0.proto @@ -0,0 +1,22 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +package a0.a1.a2.a3; +import "f2.proto"; +import "f3.proto"; +message A0 { + repeated .a0.a1.a2.a3.A1 a4 = 1; + optional string a5 = 3; + enum A2 { + A3 = 0; + A4 = 1; + A5 = 2; + A6 = 3; + A7 = 4; + A8 = 5; + } + optional A2 a6 = 2; + optional a7.A9 a8 = 4; +} diff --git a/query_benchmark/protos/f1.proto b/query_benchmark/protos/f1.proto new file mode 100644 index 0000000000000..3817d972f61cd --- /dev/null +++ b/query_benchmark/protos/f1.proto @@ -0,0 +1,43 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +package a0.a1.a274; +import "f5.proto"; +message A313 { + optional int32 a90 = 1; + optional int32 a275 = 2; +} +message A314 { + repeated A313 a276 = 1; +} +message A315 { + optional string a277 = 1; + optional a10.A113.A59 a99 = 2; + optional int64 a278 = 3; + repeated string a279 = 4; +} +message A316 { + optional string a280 = 1; + optional int64 a281 = 2; + repeated A315 a282 = 3; +} +message A317 { + repeated A316 a283 = 1; +} +extend a10.A56 { + repeated A313 a276 = 134096400; + optional A314 a284 = 141473177; +} +message A318 { + message A319 { + optional int32 a285 = 1; + optional string a54 = 2; + } + repeated A319 a286 = 1; +} +extend a10.A57 { + optional int32 a287 = 134096400; + optional A318 a288 = 185706300; +} diff --git a/query_benchmark/protos/f10.proto b/query_benchmark/protos/f10.proto new file mode 100644 index 0000000000000..e4cdadf02e35b --- /dev/null +++ b/query_benchmark/protos/f10.proto @@ -0,0 +1,21 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +package a10.a68; +message A102 { + optional string a52 = 1; + optional uint64 a69 = 2; + optional uint64 a70 = 3; + optional uint64 a71 = 4; +} +message A103 { + optional string a52 = 1; + optional uint64 a72 = 2; + repeated A102 a73 = 3; +} +message A104 { + repeated A103 message = 1; + optional string a74 = 2; +} diff --git a/query_benchmark/protos/f11.proto b/query_benchmark/protos/f11.proto new file mode 100644 index 0000000000000..61958befede7e --- /dev/null +++ b/query_benchmark/protos/f11.proto @@ -0,0 +1,17 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +package a0.a1; +import "f12.proto"; +message A105 { + optional string a75 = 1; +}; +message A106 { + optional A105 a76 = 1; + optional string a77 = 3; +}; +message A107 { + optional string a78 = 1; +} diff --git a/query_benchmark/protos/f12.proto b/query_benchmark/protos/f12.proto new file mode 100644 index 0000000000000..3ba0463bdf991 --- /dev/null +++ b/query_benchmark/protos/f12.proto @@ -0,0 +1,129 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +import "f25.proto"; +import "f5.proto"; +package a260; +enum A322 { + A323 = 0; + A324 = 999; + A325 = 1000; + A326 = 1001; + A327 = 1002; + A328 = 1003; + A329 = 1004; + A330 = 1005; + A331 = 1006; + A332 = 1007; + A333 = 1008; + A334 = 1100; + A335 = 1102; + A336 = 1103; + A337 = 1104; + A338 = 1105; + A339 = 1106; + A340 = 1107; + A341 = 1108; + A342 = 1109; + A343 = 1200; + A344 = 1201; + A345 = 1203; + A346 = 1204; + A347 = 1202; + A348 = 1211; + A349 = 1212; + A350 = 1220; + A351 = 1221; + A352 = 1222; + A353 = 1223; + A354 = 1240; + A355 = 1300; + A356 = 1301; + A357 = 1400; + A358 = 1401; + A359 = 1500; + A360 = 1501; + A361 = 1600; + A362 = 1601; + A363 = 1700; + A364 = 1701; + A365 = 1702; + A366 = 1800; + A367 = 1801; + A368 = 1802; + A369 = 1803; + A370 = 1900; + A371 = 1901; + A372 = 2000; + A373 = 2100; + A374 = 2101; + A375 = 2300; + A376 = 2400; + A377 = 2500; + A378 = 2600; + A379 = 2601; + A380 = 2602; + A381 = 2603; + A382 = 9900; + A383 = 9901; + A384 = 9902; + A385 = 9903; + A386 = 9904; + A387 = 9905; +}; +message A388 { + optional bool a293 = 1 [default = false]; + optional bool a294 = 2 [default = false]; + optional bool a295 = 3 [default = false]; + optional bool a296 = 4 [default = false]; + optional bool a297 = 5 [default = false]; + optional bool a298 = 6 [default = false]; + optional bool a15 = 7 [default = false]; + optional int32 a299 = 8; + optional bool a300 = 9 [default = false]; + optional bool a301 = 10 [default = false]; + optional bool a302 = 11 [default = false]; + optional bool a303 = 13 [default = false]; + optional bool a304 = 12 [default = false]; +}; +message A389 { + optional bool a300 = 1 [default = false]; + optional bool a305 = 2 [default = false]; +}; +enum A390 { + A391 = 0; + A392 = 1; + A393 = 2; + A394 = 3; + A395 = 4; + A396 = 5; + A397 = 6; + A398 = 7; +}; +extend a10.A56 { + optional A322 a306 = 40075780; + optional A388 a307 = 40270992; + optional A389 a308 = 69646961; + optional A399 a309 = 40093572; + optional A390 a310 = 40221563; + repeated A308 a311 = 40223876; +}; +extend a10.A57 { + optional A322 a312 = 41149386; + optional A388 a313 = 41551199; + optional A389 a314 = 69646961; + optional A58 a21 = 41744383; + repeated A308 a315 = 41909987; +}; +message A399 { + repeated A322 a306 = 1; +}; +message A58 { + repeated A322 a306 = 1; +}; +extend a10.A60 { + optional bool a316 = 43601160; + optional string a317 = 71304954; +}; diff --git a/query_benchmark/protos/f13.proto b/query_benchmark/protos/f13.proto new file mode 100644 index 0000000000000..c67e333752bbc --- /dev/null +++ b/query_benchmark/protos/f13.proto @@ -0,0 +1,10 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto3"; +package a205.a206; +message A190 { + int64 a258 = 1; + int32 a259 = 2; +} diff --git a/query_benchmark/protos/f14.proto b/query_benchmark/protos/f14.proto new file mode 100644 index 0000000000000..9c87e38ee5031 --- /dev/null +++ b/query_benchmark/protos/f14.proto @@ -0,0 +1,32 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +package a10.a68.a211; +message A192 { + message A193 { + optional string a52 = 1; + optional int32 a97 = 2; + optional string a212 = 3; + optional string a213 = 4; + optional bool a214 = 5 [default = true]; + optional bool a215 = 6; + optional uint32 a216 = 7 [default = 2]; + } + repeated A193 a86 = 2; + message A194 { + optional string a52 = 1; + optional string a213 = 2; + optional bool a214 = 3 [default = true]; + optional uint32 a216 = 4 [default = 2]; + } + repeated A194 a217 = 3; + message A195 { + optional string a52 = 1; + optional string a213 = 2; + optional bool a214 = 3 [default = true]; + optional uint32 a216 = 4 [default = 2]; + } + repeated A195 a218 = 4; +} diff --git a/query_benchmark/protos/f15.proto b/query_benchmark/protos/f15.proto new file mode 100644 index 0000000000000..623faaeab628f --- /dev/null +++ b/query_benchmark/protos/f15.proto @@ -0,0 +1,28 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto3"; +package a46.a47.a1.a48.a49.a4; +import "f12.proto"; +message A196 { + string a219 = 1; + A197 a220 = 2; +} +message A197 { + enum A198 { + A199 = 0; + A200 = 1; + A201 = 2; + A202 = 3; + A203 = 4; + A204 = 5; + A205 = 6; + A206 = 7; + A207 = 8; + A208 = 9; + A209 = 10; + } + A198 a221 = 1; + string a222 = 2; +} diff --git a/query_benchmark/protos/f16.proto b/query_benchmark/protos/f16.proto new file mode 100644 index 0000000000000..8e60c6a3f82c3 --- /dev/null +++ b/query_benchmark/protos/f16.proto @@ -0,0 +1,31 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +package a0.a1; +import "f17.proto"; +import "f18.proto"; +import "f12.proto"; +message A210 { + enum A211 { + A212 = 0; + A213 = 1; + A214 = 2; + } + optional string a223 = 1; + optional string a224 = 3; + message A215 { + repeated A216 a225 = 1; + } + optional A215 a226 = 2; + optional A211 a227 = 4; + optional bool a228 = 5; +} +message A217 { + optional A218 a229 = 1; + message A219 { + repeated A216 a230 = 1; + } + optional A219 a231 = 2; +} diff --git a/query_benchmark/protos/f17.proto b/query_benchmark/protos/f17.proto new file mode 100644 index 0000000000000..65516fee4ed03 --- /dev/null +++ b/query_benchmark/protos/f17.proto @@ -0,0 +1,16 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +package a0.a1; +import "f4.proto"; +import "f12.proto"; +message A320 { + optional string a375 = 1; + optional bytes a376 = 2; +} +message A216 { + optional string a377 = 1; + optional A320 a105 = 2; +} diff --git a/query_benchmark/protos/f18.proto b/query_benchmark/protos/f18.proto new file mode 100644 index 0000000000000..d0fa45fd4a7da --- /dev/null +++ b/query_benchmark/protos/f18.proto @@ -0,0 +1,32 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +package a0.a1; +import "f12.proto"; +message A218 { + enum A400 { + A401 = 0; + A402 = 1; + A235 = 2; + A403 = 3; + A404 = 4; + A405 = 5; + A406 = 6; + A407 = 7; + A408 = 16; + A409 = 8; + A410 = 9; + A411 = 10; + A412 = 11; + A413 = 12; + A414 = 13; + A415 = 14; + A416 = 15; + A417 = 17; + A418 = 20; + } + optional A400 a318 = 1 [default = A401]; + optional string a319 = 2; +} diff --git a/query_benchmark/protos/f19.proto b/query_benchmark/protos/f19.proto new file mode 100644 index 0000000000000..c2aafb31d1c2b --- /dev/null +++ b/query_benchmark/protos/f19.proto @@ -0,0 +1,29 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +package a0.a1.a232; +import "f1.proto"; +message A220 { + optional A221 a233 = 7; + optional string a234 = 1; + optional bytes a235 = 5; + optional string a236 = 8; + optional string a237 = 6; + optional string a238 = 2; + optional int32 a239 = 3; + optional int32 a240 = 4; + extensions 192367380; +} +enum A221 { + A222 = 0; + A223 = 1; +} +enum A224 { + A225 = 0; + A226 = 1; + A227 = 2; + A228 = 3; + A229 = 4; +}; diff --git a/query_benchmark/protos/f2.proto b/query_benchmark/protos/f2.proto new file mode 100644 index 0000000000000..8ee436f7ec591 --- /dev/null +++ b/query_benchmark/protos/f2.proto @@ -0,0 +1,65 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +package a0.a1.a2.a3; +import "f1.proto"; +import "f19.proto"; +import "f20.proto"; +import "f15.proto"; +import "f9.proto"; +message A1 { + optional .a0.a1.a232.A220 a378 = 1; + optional .a0.a1.a232.A220 a379 = 2; + optional .a46.a47.a1.a48.a49.a4.A196 a380 = 5; + message A465 { + optional string a381 = 1; + optional string a234 = 2; + optional string a382 = 3; + optional string a383 = 4; + optional string a384 = 10; + optional string a385 = 5; + optional string a386 = 6; + optional string a387 = 7; + optional int64 a388 = 8; + optional string a194 = 9; + } + optional A465 a389 = 3; + message A466 { + optional float a390 = 1; + optional float a391 = 2; + optional float a392 = 3; + optional float a393 = 4; + } + optional A466 a394 = 4; + optional string a395 = 6; + optional A467 a274 = 7; + repeated A468 a396 = 8; + optional bool a397 = 9; + message A469 { + optional .a0.a1.a232.A230 a397 = 1; + optional .a0.a1.a232.A230 a398 = 2; + optional .a0.a1.a232.A230 a399 = 3; + } + optional A469 a400 = 10; +} +message A467 { + message A470 { + optional .a46.a47.a1.a48.a49.a4.A99 a401 = 9; + optional .a46.a47.a1.a48.a49.a4.A100 a402 = 10; + optional .a46.a47.a1.a48.a49.a4.A101 a403 = 11; + } + optional A470 a404 = 1; +} +message A468 { + optional string a395 = 1; + optional A471 a405 = 2; + optional string a406 = 3; +} +message A471 { + optional float a390 = 1; + optional float a392 = 2; + optional float a391 = 3; + optional float a393 = 4; +} diff --git a/query_benchmark/protos/f20.proto b/query_benchmark/protos/f20.proto new file mode 100644 index 0000000000000..48eb17cb1475b --- /dev/null +++ b/query_benchmark/protos/f20.proto @@ -0,0 +1,16 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +package a0.a1.a232; +import "f1.proto"; +import "f21.proto"; +import "f22.proto"; +message A230 { + optional string a222 = 1; + optional string a224 = 2; + optional a0.a1.A231 a241 = 5; + optional A232 a242 = 3; + reserved 4; +} diff --git a/query_benchmark/protos/f21.proto b/query_benchmark/protos/f21.proto new file mode 100644 index 0000000000000..4cfdf8fd040d3 --- /dev/null +++ b/query_benchmark/protos/f21.proto @@ -0,0 +1,13 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +package a0.a1; +import "f17.proto"; +import "f12.proto"; +message A232 { + optional string a289 = 1; + optional string a290 = 3; + map a291 = 2; +} diff --git a/query_benchmark/protos/f22.proto b/query_benchmark/protos/f22.proto new file mode 100644 index 0000000000000..4ec044a48b911 --- /dev/null +++ b/query_benchmark/protos/f22.proto @@ -0,0 +1,96 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +package a0.a1; +import "f8.proto"; +import "f1.proto"; +import "f21.proto"; +import "f16.proto"; +import "f7.proto"; +import "f27.proto"; +import "f28.proto"; +import "f23.proto"; +import "f11.proto"; +import "f24.proto"; +import "f4.proto"; +import "f12.proto"; +message A419 { + repeated A420 a320 = 1; + optional A321 a291 = 2; +}; +message A421 { + optional bytes a321 = 1; + optional bool a322 = 6 [default = false]; + optional bytes a323 = 2; + repeated A420 a324 = 3; + optional A321 a325 = 4; + optional A231 a241 = 5; + map a326 = 7; + optional A422 a327 = 8; + optional string a224 = 9; +}; +message A420 { + optional int32 a328 = 1; + optional int32 a329 = 2; + oneof a99 { + A423 a330 = 3; + A424 a331 = 4; + } +} +message A423 { + optional a0.a1.a232.A239 a332 = 6; + optional string a224 = 7; + optional A231 a241 = 8; + oneof a99 { + a0.a1.A106 a333 = 1; + a0.a1.A293 a334 = 4; + A217 a335 = 3; + A232 a242 = 5; + } + reserved 2; +} +message A424 { + optional a0.a1.a232.A239 a336 = 3; + optional a0.a1.a232.A241 a337 = 7; + optional a0.a1.A107 a338 = 1; + optional A210 a2 = 2; + optional A425 a339 = 5; + optional bytes a340 = 4; + optional bool a341 = 6 [default = false]; + optional A231 a241 = 16; +} +message A425 { + enum A426 { + A235 = 0; + A427 = 1; + A428 = 2; + A429 = 3; + } + optional A426 a342 = 1; +} +message A231 { + optional bool a322 = 1 [default = false]; + optional bool a341 = 2 [default = false]; + optional bool a343 = 3 [default = false]; + optional int32 a344 = 4; + optional bool a345 = 6; + optional A430 a346 = 5; + optional bytes a347 = 7; + optional A66 a348 = 8; +}; +message A430 { + repeated a0.a1.a349.A431 a350 = 5; + repeated A420 a320 = 6; +} +message A432 { + optional string a351 = 1; + optional string a278 = 2; + optional bytes a352 = 3; + optional A66 a348 = 4; +} +message A422 { + repeated A432 a353 = 1; + repeated string a354 = 2; +} diff --git a/query_benchmark/protos/f23.proto b/query_benchmark/protos/f23.proto new file mode 100644 index 0000000000000..1a9dfe6df6f27 --- /dev/null +++ b/query_benchmark/protos/f23.proto @@ -0,0 +1,95 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +package a0.a1.a232; +import "f1.proto"; +import "f4.proto"; +import "f12.proto"; +message A233 { + enum A234 { + A235 = 0; + A236 = 1; + A237 = 2; + A238 = 3; + } + optional A234 a243 = 1; + optional string a244 = 2; + optional string a245 = 3; +} +message A239 { + optional string a246 = 3; + optional string a247 = 2; + optional string a248 = 8; + optional string a249 = 1; + optional string a250 = 4; + optional string a251 = 5; + optional A240 a252 = 6; + optional string a253 = 7; + optional string a254 = 9; + optional string a255 = 10; + optional string a256 = 11; +} +message A240 { + reserved 3, 4; + optional string a245 = 1; + optional string a257 = 2; +} +message A241 { + enum A59 { + A235 = 0; + A242 = 14; + A243 = 4; + A244 = 47; + A245 = 33; + A246 = 5; + A247 = 45; + A248 = 2; + A249 = 28; + A250 = 13; + A251 = 29; + A252 = 27; + A253 = 42; + A254 = 18; + A255 = 31; + A256 = 25; + A257 = 3; + A258 = 7; + A259 = 8; + A260 = 24; + A261 = 9; + A262 = 6; + A263 = 19; + A264 = 15; + A265 = 10; + A266 = 11; + A267 = 35; + A268 = 20; + A269 = 1; + A270 = 41; + A271 = 12; + A272 = 26; + A273 = 17; + A274 = 34; + A275 = 23; + A276 = 40; + A277 = 46; + A278 = 51; + A279 = 16; + A280 = 30; + A281 = 38; + A282 = 21; + A283 = 22; + A284 = 49; + A285 = 32; + A286 = 36; + A287 = 37; + A288 = 39; + A289 = 48; + A290 = 50; + A291 = 43; + A292 = 44; + } + optional A59 a99 = 1; +} diff --git a/query_benchmark/protos/f24.proto b/query_benchmark/protos/f24.proto new file mode 100644 index 0000000000000..5b8a7edfeee2b --- /dev/null +++ b/query_benchmark/protos/f24.proto @@ -0,0 +1,10 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +package a0.a1; +import "f12.proto"; +message A293 { + optional string a5 = 1; +} diff --git a/query_benchmark/protos/f25.proto b/query_benchmark/protos/f25.proto new file mode 100644 index 0000000000000..c64f666a33a1b --- /dev/null +++ b/query_benchmark/protos/f25.proto @@ -0,0 +1,25 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +package a260; +enum A294 { + A295 = 0; + A296 = 1; + A297 = 10; + A298 = 20; + A299 = 21; + A300 = 30; + A301 = 40; + A302 = 50; + A303 = 58; + A304 = 60; + A305 = 70; + A306 = 80; + A307 = 1000; +}; +message A308 { + optional A294 a261 = 1; + optional string a262 = 2; +}; diff --git a/query_benchmark/protos/f26.proto b/query_benchmark/protos/f26.proto new file mode 100644 index 0000000000000..0085b34815e82 --- /dev/null +++ b/query_benchmark/protos/f26.proto @@ -0,0 +1,30 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +package a10.a68; +import "f10.proto"; +import "f5.proto"; +message A309 { + optional int32 a263 = 1; + optional int32 a264 = 2; + optional int32 a265 = 3; + optional string a266 = 4; +} +message A310 { + repeated string a267 = 1; + optional string a268 = 2; + repeated A109 a269 = 15; + optional A309 a270 = 3; + optional A104 a271 = 16; +} +message A311 { + optional string a272 = 1; + message A312 { + optional string a52 = 1; + optional string a273 = 2; + optional string a235 = 15; + } + repeated A312 a79 = 15; +} diff --git a/query_benchmark/protos/f27.proto b/query_benchmark/protos/f27.proto new file mode 100644 index 0000000000000..2cd62c8b49387 --- /dev/null +++ b/query_benchmark/protos/f27.proto @@ -0,0 +1,11 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +package a0.a1; +import "f17.proto"; +import "f12.proto"; +message A321 { + repeated A216 a292 = 1; +} diff --git a/query_benchmark/protos/f28.proto b/query_benchmark/protos/f28.proto new file mode 100644 index 0000000000000..78e1e446d1298 --- /dev/null +++ b/query_benchmark/protos/f28.proto @@ -0,0 +1,79 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +package a0.a1.a349; +message A433 { + oneof a105 { + string a192 = 1; + int32 a355 = 2; + bool a356 = 3; + double a191 = 4; + } +}; +message A434 { + optional string a357 = 1; + optional A435 a358 = 2; +} +message A435 { + oneof a359 { + bool a360 = 1; + A436 a361 = 2; + A437 a362 = 3; + } + message A436 { + optional bool a361 = 1; + } + message A437 { + optional A433 a105 = 1; + } +} +enum A438 { + A439 = 0; + A440 = 1; + A441 = 2; + A442 = 3; + A443 = 4; + A444 = 5; + A445 = 6; + A446 = 7; + A447 = 8; + A448 = 9; + A449 = 10; + A450 = 13; + A451 = 14; + A452 = 15; + A453 = 16; + A454 = 17; +}; +message A455 { + optional A438 a363 = 1; + repeated A456 a364 = 2; +}; +message A456 { + oneof a365 { + A455 a366 = 1; + A434 a367 = 2; + A433 a368 = 3; + } +}; +message A457 { + optional string a98 = 1; +}; +message A431 { + enum A458 { + A459 = 0; + A460 = 1; + A461 = 2; + A462 = 3; + A463 = 4; + A464 = 5; + } + optional A458 a369 = 1; + optional A456 a370 = 2; + optional int32 a371 = 3; + optional int32 a372 = 4; + optional A434 a373 = 5; + optional A457 a374 = 16; +}; diff --git a/query_benchmark/protos/f3.proto b/query_benchmark/protos/f3.proto new file mode 100644 index 0000000000000..e65388134473b --- /dev/null +++ b/query_benchmark/protos/f3.proto @@ -0,0 +1,20 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +import "f13.proto"; +import "f6.proto"; +package a7; +message A9 { + optional bytes a203 = 1; + optional A189 a204 = 2; +} +message A189 { + optional a205.a206.A190 a207 = 1; + message A191 { + optional int64 a208 = 1; + } + optional A191 a209 = 2; + optional A61 a210 = 3; +} diff --git a/query_benchmark/protos/f4.proto b/query_benchmark/protos/f4.proto new file mode 100644 index 0000000000000..14076aea95827 --- /dev/null +++ b/query_benchmark/protos/f4.proto @@ -0,0 +1,81 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +import "f5.proto"; +package a9; +enum A10 { + A11 = 0; + A12 = 1; + A13 = 2; + A14 = 3; + A15 = 4; + A16 = 5; + A17 = 15; + A18 = 6; + A19 = 9; + A20 = 7; + A21 = 8; + A22 = 16; + A23 = 10; + A24 = 11; + A25 = 12; + A26 = 13; + A27 = 14; + A28 = 20; + A29 = 21; + A30 = 22; + A31 = 23; + A32 = 24; + A33 = 207; + A34 = 30; + A35 = 31; + A36 = 32; + A37 = 35; + A38 = 33; + A39 = 34; + A40 = 50; + A41 = 51; + A42 = 52; + A43 = 53; + A44 = 54; + A45 = 55; + A46 = 56; + A47 = 57; + A48 = 100; + A49 = 200; + A50 = 201; + A51 = 202; + A52 = 203; + A53 = 204; + A54 = 205; + A55 = 206; +}; +extend a10.A56 { + optional A10 a11 = 21713708; + optional bool a12 = 21623477; + optional bool a13 = 23459630; + optional bool a14 = 21596320; + optional bool a15 = 26652850; + optional int32 a16 = 53697879; + optional string a17 = 56871503; +}; +extend a10.A57 { + optional A10 a18 = 21713708; + optional bool a19 = 21623477; + optional bool a20 = 21596320; + optional A58 a21 = 21467048; + optional string a22 = 26652850; +} +message A58 { + message A59 { + required string a23 = 1; + required string a24 = 2; + }; + repeated A59 a25 = 1; +}; +extend a10.A60 { + optional bool a26 = 21596320; + optional bool a27 = 28993747; +}; diff --git a/query_benchmark/protos/f5.proto b/query_benchmark/protos/f5.proto new file mode 100644 index 0000000000000..ec7d6d957839d --- /dev/null +++ b/query_benchmark/protos/f5.proto @@ -0,0 +1,351 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +package a10; +message A108 { + repeated A109 a79 = 1; +} +message A109 { + optional string a52 = 1; + optional string a407 = 2; + repeated string a80 = 3; + repeated int32 a81 = 10; + repeated int32 a82 = 11; + repeated A110 a83 = 4; + repeated A111 a84 = 5; + repeated A112 a85 = 6; + repeated A113 a86 = 7; + optional A60 a87 = 8; + optional A114 a88 = 9; + optional string a408 = 12; +} +message A110 { + optional string a52 = 1; + repeated A113 a73 = 2; + repeated A113 a86 = 6; + repeated A110 a89 = 3; + repeated A111 a84 = 4; + message A115 { + optional int32 a90 = 1; + optional int32 a91 = 2; + optional A116 a87 = 3; + } + repeated A115 a92 = 5; + repeated A117 a93 = 8; + optional A57 a87 = 7; + message A118 { + optional int32 a90 = 1; + optional int32 a91 = 2; + } + repeated A118 a94 = 9; + repeated string a95 = 10; +} +message A116 { + repeated A119 a96 = 999; + extensions 1000 to max; +} +message A113 { + enum A59 { + A120 = 1; + A121 = 2; + A122 = 3; + A123 = 4; + A124 = 5; + A125 = 6; + A126 = 7; + A127 = 8; + A128 = 9; + A129 = 10; + A130 = 11; + A131 = 12; + A132 = 13; + A133 = 14; + A134 = 15; + A135 = 16; + A136 = 17; + A137 = 18; + }; + enum A138 { + A139 = 1; + A140 = 2; + A141 = 3; + }; + optional string a52 = 1; + optional int32 a97 = 3; + optional A138 a98 = 4; + optional A59 a99 = 5; + optional string a100 = 6; + optional string a101 = 2; + optional string a102 = 7; + optional int32 a103 = 9; + optional string a104 = 10; + optional A56 a87 = 8; +} +message A117 { + optional string a52 = 1; + optional A142 a87 = 2; +} +message A111 { + optional string a52 = 1; + repeated A143 a105 = 2; + optional A70 a87 = 3; + message A144 { + optional int32 a90 = 1; + optional int32 a91 = 2; + } + repeated A144 a94 = 4; + repeated string a95 = 5; +} +message A143 { + optional string a52 = 1; + optional int32 a97 = 2; + optional A76 a87 = 3; +} +message A112 { + optional string a52 = 1; + repeated A145 a106 = 2; + repeated A146 a107 = 4; + optional A147 a87 = 3; +} +message A145 { + optional string a52 = 1; + optional string a108 = 2; + optional string a109 = 3; + optional A98 a87 = 4; + optional bool a110 = 5 [default = false]; + optional bool a111 = 6 [default = false]; +} +message A146 { + optional string a52 = 1; + optional string a112 = 2; + optional string a113 = 3; + optional A148 a87 = 4; +} +message A60 { + optional int32 a114 = 2 [default = 2]; + reserved 15; + reserved 22; + optional bool a115 = 24 [default = true]; + reserved 25; + optional string a116 = 1; + optional int32 a117 = 4 [default = 2]; + optional int32 a118 = 5 [default = 2]; + optional bool a119 = 6 [default = true]; + optional bool a120 = 7 [default = true]; + reserved 13; + optional bool a121 = 21 [default = false]; + optional string a122 = 19; + optional bool a123 = 26 [default = false]; + optional string a124 = 8; + optional bool a125 = 10 [default = false]; + optional bool a126 = 27 [default = false]; + optional bool a127 = 28 [default = false]; + optional string a128 = 29; + enum A149 { + A150 = 1; + A151 = 2; + A152 = 3; + } + optional A149 a129 = 9 [default = A150]; + optional string a130 = 11; + optional string a131 = 12; + optional int32 a132 = 14 [default = 1]; + optional bool a133 = 16 [default = false]; + optional bool a134 = 17 [default = false]; + optional bool a135 = 18 [default = false]; + optional bool a136 = 42 [default = false]; + optional bool a31 = 23 [default = false]; + optional bool a137 = 31 [default = false]; + reserved 32; + reserved 33; + reserved 34; + reserved 35; + optional string a138 = 36; + optional string a139 = 37; + optional string a140 = 39; + optional string a141 = 40; + optional string a142 = 41; + optional bool a143 = 43; + optional string a144 = 44; + optional string a145 = 45; + repeated A119 a96 = 999; + extensions 1000 to max; + reserved 38; +} +message A57 { + repeated string a146 = 4; + repeated string a147 = 5; + repeated string a148 = 6; + optional bool a149 = 1 [default = false]; + optional bool a150 = 2 [default = false]; + optional bool a31 = 3 [default = false]; + optional bool a151 = 7; + reserved 8; + reserved 9; + repeated A119 a96 = 999; + extensions 1000 to max; +} +message A56 { + optional A153 a152 = 1 [default = A154]; + enum A153 { + A154 = 0; + A155 = 1; + A156 = 2; + } + optional bool a409 = 2; + optional A157 a153 = 6 [default = A158]; + enum A157 { + A158 = 0; + A159 = 1; + A160 = 2; + } + optional bool a154 = 5 [default = false]; + optional bool a31 = 3 [default = false]; + optional bool a155 = 10 [default = false]; + message A161 { + optional string a52 = 1; + optional string a105 = 2; + }; + repeated A161 a156 = 11; + optional bool a157 = 12 [default = false]; + optional bool a158 = 13 [default = true]; + repeated A119 a96 = 999; + extensions 1000 to max; + reserved 4; +} +message A142 { + repeated A119 a96 = 999; + extensions 1000 to max; +} +message A70 { + optional string a159 = 1; + reserved 4; + optional bool a160 = 2; + optional bool a31 = 3 [default = false]; + reserved 5; + repeated A119 a96 = 999; + extensions 1000 to max; +} +message A76 { + optional bool a31 = 1 [default = false]; + repeated A119 a96 = 999; + extensions 1000 to max; +} +message A147 { + optional bool a161 = 20 [default = false]; + optional double a162 = 16 [default = -1.0]; + optional bool a31 = 33 [default = false]; + repeated A119 a96 = 999; + extensions 1000 to max; +} +message A98 { + enum A162 { + A163 = 0; + A164 = 1; + } + enum A165 { + A67 = 0; + A166 = 1; + A167 = 2; + A168 = 3; + } + enum A169 { + A170 = 0; + A171 = 1; + } + enum A172 { + A173 = 0; + A174 = 1; + A175 = 2; + A176 = 3; + A177 = 4; + } + optional A162 a163 = 7 [default = A163]; + optional double a164 = 8 [default = -1.0]; + optional bool a165 = 9 [default = false]; + optional bool a166 = 10 [default = false]; + optional bool a167 = 26 [default = false]; + optional sint32 a168 = 11 [default = 256]; + optional sint32 a169 = 12 [default = 256]; + optional A165 a170 = 13 [default = A67]; + optional A169 a171 = 15 [default = A170]; + optional A169 a172 = 17 [default = A170]; + optional string a173 = 18; + optional string a174 = 19; + optional bool a110 = 20; + optional bool a111 = 21; + optional string a175 = 22; + optional string a176 = 23; + optional bool a177 = 29; + optional int64 a178 = 24 [default = -1]; + optional int64 a179 = 25 [default = -1]; + enum A178 { + A179 = 0; + A180 = 1; + } + optional A178 a180 = 28 [default = A180]; + optional A172 a181 = 27 [default = A175]; + optional bool a31 = 33 [default = false]; + enum A181 { + A182 = 0; + A183 = 1; + A184 = 2; + } + optional A181 a182 = 34 [default = A182]; + repeated A119 a96 = 999; + extensions 1000 to max; +} +message A148 { + enum A178 { + A179 = 0; + A180 = 1; + } + optional int64 a183 = 1 [default = -1]; + optional int64 a184 = 2 [default = -1]; + optional A178 a185 = 3 [default = A179]; + optional A98.A165 a170 = 4 [default = A67]; + optional string a174 = 5; + optional int32 a168 = 6 [default = 256]; + optional int32 a169 = 7 [default = 256]; + optional double a164 = 8 [default = -1.0]; + optional bool a166 = 9 [default = false]; + optional bool a167 = 10 [default = false]; + optional A98.A172 a181 = 11 [default = A175]; + optional bool a31 = 33 [default = false]; + repeated A119 a96 = 999; + extensions 1000 to max; +} +message A119 { + message A185 { + required string a186 = 1; + required bool a187 = 2; + } + repeated A185 a52 = 2; + optional string a188 = 3; + optional uint64 a189 = 4; + optional int64 a190 = 5; + optional double a191 = 6; + optional bytes a192 = 7; + optional string a193 = 8; +} +message A114 { + repeated A186 a194 = 1; + message A186 { + repeated int32 a195 = 1 [packed = true]; + repeated int32 a196 = 2 [packed = true]; + optional string a197 = 3; + optional string a198 = 4; + repeated string a199 = 6; + } +} +message A187 { + repeated A188 a200 = 1; + message A188 { + repeated int32 a195 = 1 [packed = true]; + optional string a201 = 2; + optional int32 a202 = 3; + optional int32 a91 = 4; + } +} diff --git a/query_benchmark/protos/f6.proto b/query_benchmark/protos/f6.proto new file mode 100644 index 0000000000000..4801eb5b6767e --- /dev/null +++ b/query_benchmark/protos/f6.proto @@ -0,0 +1,14 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +package a7; +message A61 { + enum A62 { + A63 = 0; + A64 = 1; + A65 = 2; + } + optional A62 a28 = 1; +} diff --git a/query_benchmark/protos/f7.proto b/query_benchmark/protos/f7.proto new file mode 100644 index 0000000000000..9f6e65e929032 --- /dev/null +++ b/query_benchmark/protos/f7.proto @@ -0,0 +1,11 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +package a0.a1; +enum A66 { + A67 = 0; + A68 = 1; + A69 = 2; +} diff --git a/query_benchmark/protos/f8.proto b/query_benchmark/protos/f8.proto new file mode 100644 index 0000000000000..7583baae48cbc --- /dev/null +++ b/query_benchmark/protos/f8.proto @@ -0,0 +1,63 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +package a10.a29; +import "f5.proto"; +extend a10.A57 { + optional bool a30 = 147618788; + optional bool a32 = 149418587 [default = true]; + optional string a33 = 190288050; +} +extend a10.A70 { + optional bool a34 = 149419467 [default = true]; + optional bool a35 = 163526403; + optional string a36 = 190295313; +} +enum A71 { + A72 = 0; + A73 = 1; + A74 = 2; + A75 = 3; +} +extend a10.A56 { + optional A71 a37 = 179701954 [default = A73]; +} +extend a10.A76 { + optional bool a38 = 162702653 [default = false]; + optional bool a39 = 163486533 [default = false]; + optional bool a40 = 170261731 [default = false]; + repeated string a41 = 179096040; +} +enum A77 { + A67 = 0; + A78 = 1; + A79 = 2; + A80 = 3; + A81 = 4; + A82 = 5; + A83 = 6; + A84 = 7; + A85 = 8; + A86 = 9; + A87 = 10; + A88 = 11; + A89 = 12; + A90 = 13; + A91 = 14; + A92 = 15; + A93 = 16; + A94 = 17; + A95 = 18; + A96 = 100; + A97 = 101; +} +extend a10.A60 { + optional A77 a42 = 155465253 [default = A67]; + optional bytes a43 = 157245250; + optional bool a44 = 180648220 [default = true]; +} +extend a10.A98 { + optional bool a45 = 211030419; +} diff --git a/query_benchmark/protos/f9.proto b/query_benchmark/protos/f9.proto new file mode 100644 index 0000000000000..1d894a289a065 --- /dev/null +++ b/query_benchmark/protos/f9.proto @@ -0,0 +1,36 @@ +// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +syntax = "proto2"; +package a46.a47.a1.a48.a49.a4; +message A99 { + optional double a50 = 1; + optional int32 a51 = 2; + optional string a52 = 3; + repeated string a53 = 4; + optional string a54 = 5; + optional string a55 = 6; + optional string a56 = 7; +} +message A100 { + optional double a50 = 1; + optional int32 a51 = 2; + optional string a52 = 3; + optional string a57 = 4; + optional string a54 = 5; + optional bool a58 = 6; + optional float a59 = 7; + optional string a60 = 8; +} +message A101 { + optional string a52 = 1; + optional string a54 = 2; + optional string a61 = 3; + optional int64 a62 = 4; + optional int64 a63 = 5; + optional string a64 = 6; + optional int64 a65 = 7; + optional int64 a66 = 8; + optional bool a67 = 9; +} diff --git a/query_benchmark/pubspec.yaml b/query_benchmark/pubspec.yaml new file mode 100644 index 0000000000000..d6627f0c1bbee --- /dev/null +++ b/query_benchmark/pubspec.yaml @@ -0,0 +1,20 @@ +# Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +# for details. All rights reserved. Use of this source code is governed by a +# BSD-style license that can be found in the LICENSE file. + +name: query_benchmark +description: Measuring encoding and decoding of a "real-world" protobuf. + +environment: + sdk: '>=2.0.0 <3.0.0' + +dependencies: + protobuf: + +dev_dependencies: + protoc_plugin: + path: "../protoc_plugin" + +dependency_overrides: + protobuf: + path: "../protobuf" diff --git a/query_benchmark/run_protoc_plugin.sh b/query_benchmark/run_protoc_plugin.sh new file mode 100755 index 0000000000000..6ff5bec05a895 --- /dev/null +++ b/query_benchmark/run_protoc_plugin.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +pub run protoc_plugin protoc-gen-dart diff --git a/query_benchmark/testdata/500.pb b/query_benchmark/testdata/500.pb new file mode 100644 index 0000000000000000000000000000000000000000..edcc1110c50ac32b24e84e912a32ff04c01aa3b1 GIT binary patch literal 251369 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

5UPf${ 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�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 rxeA?U;HZpi)cuu15i&wW{knhSRl-*b&_P=1 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

QO9 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%0Af@l>dw3^17HIxI3N{KHqUtc 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