1// Protocol Buffers - Google's data interchange format 2// Copyright 2008 Google Inc. All rights reserved. 3// https://developers.google.com/protocol-buffers/ 4// 5// Redistribution and use in source and binary forms, with or without 6// modification, are permitted provided that the following conditions are 7// met: 8// 9// * Redistributions of source code must retain the above copyright 10// notice, this list of conditions and the following disclaimer. 11// * Redistributions in binary form must reproduce the above 12// copyright notice, this list of conditions and the following disclaimer 13// in the documentation and/or other materials provided with the 14// distribution. 15// * Neither the name of Google Inc. nor the names of its 16// contributors may be used to endorse or promote products derived from 17// this software without specific prior written permission. 18// 19// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 31// LINT: ALLOW_GROUPS 32 33// Benchmark messages for proto2. 34 35syntax = "proto2"; 36 37package benchmarks.proto2; 38option java_package = "com.google.protobuf.benchmarks"; 39 40// This is the default, but we specify it here explicitly. 41option optimize_for = SPEED; 42 43option cc_enable_arenas = true; 44 45message GoogleMessage2 { 46 optional string field1 = 1; 47 optional int64 field3 = 3; 48 optional int64 field4 = 4; 49 optional int64 field30 = 30; 50 optional bool field75 = 75 [default = false]; 51 optional string field6 = 6; 52 optional bytes field2 = 2; 53 optional int32 field21 = 21 [default = 0]; 54 optional int32 field71 = 71; 55 optional float field25 = 25; 56 optional int32 field109 = 109 [default = 0]; 57 optional int32 field210 = 210 [default = 0]; 58 optional int32 field211 = 211 [default = 0]; 59 optional int32 field212 = 212 [default = 0]; 60 optional int32 field213 = 213 [default = 0]; 61 optional int32 field216 = 216 [default = 0]; 62 optional int32 field217 = 217 [default = 0]; 63 optional int32 field218 = 218 [default = 0]; 64 optional int32 field220 = 220 [default = 0]; 65 optional int32 field221 = 221 [default = 0]; 66 optional float field222 = 222 [default = 0.0]; 67 optional int32 field63 = 63; 68 69 repeated group Group1 = 10 { 70 required float field11 = 11; 71 optional float field26 = 26; 72 optional string field12 = 12; 73 optional string field13 = 13; 74 repeated string field14 = 14; 75 required uint64 field15 = 15; 76 optional int32 field5 = 5; 77 optional string field27 = 27; 78 optional int32 field28 = 28; 79 optional string field29 = 29; 80 optional string field16 = 16; 81 repeated string field22 = 22; 82 repeated int32 field73 = 73; 83 optional int32 field20 = 20 [default = 0]; 84 optional string field24 = 24; 85 optional GoogleMessage2GroupedMessage field31 = 31; 86 } 87 repeated string field128 = 128; 88 optional int64 field131 = 131; 89 repeated string field127 = 127; 90 optional int32 field129 = 129; 91 repeated int64 field130 = 130; 92 optional bool field205 = 205 [default = false]; 93 optional bool field206 = 206 [default = false]; 94} 95 96message GoogleMessage2GroupedMessage { 97 optional float field1 = 1; 98 optional float field2 = 2; 99 optional float field3 = 3 [default = 0.0]; 100 optional bool field4 = 4; 101 optional bool field5 = 5; 102 optional bool field6 = 6 [default = true]; 103 optional bool field7 = 7 [default = false]; 104 optional float field8 = 8; 105 optional bool field9 = 9; 106 optional float field10 = 10; 107 optional int64 field11 = 11; 108} 109