| /** |
| * @fileoverview The code size benchmark of apps JSPB for proto3 all types |
| */ |
| goog.module('protobuf.benchmark.code_size.apps_jspb.AllTypesProto3'); |
| |
| // const ForeignEnum = goog.require('proto.proto3_unittest.ForeignEnum'); |
| const ForeignMessage = goog.require('proto.proto3_unittest.ForeignMessage'); |
| const TestAllTypes = goog.require('proto.proto3_unittest.TestAllTypes'); |
| const TestPackedTypes = goog.require('proto.proto3_unittest.TestPackedTypes'); |
| const {ensureCommonBaseLine} = goog.require('protobuf.benchmark.codeSize.codeSizeBase'); |
| |
| ensureCommonBaseLine(); |
| |
| /** |
| * The testing scenario is the same as kernel one. |
| * We have |
| * 1) add element to repeated fields |
| * 2) add element list to repeated fields |
| * 3) set fields |
| * 4) set repeated fields element |
| * 5) get fields |
| * 6) get repeated fields element |
| * 7) get repeated fields length |
| * @return {string} |
| */ |
| function accessAllTypes() { |
| const msgAllTypes = TestAllTypes.deserialize(''); |
| const msgPackedTypes = TestPackedTypes.deserialize(''); |
| |
| msgPackedTypes.addPackedBool(true); |
| [true].forEach((e) => msgPackedTypes.addPackedBool(e)); |
| msgAllTypes.addRepeatedBool(true, 1); |
| [true].forEach((e) => msgAllTypes.addRepeatedBool(e)); |
| msgAllTypes.addRepeatedBytes('1', 1); |
| ['1'].forEach((e) => msgAllTypes.addRepeatedBytes(e)); |
| msgPackedTypes.addPackedDouble(1.0); |
| [1.0].forEach((e) => msgPackedTypes.addPackedDouble(e)); |
| msgAllTypes.addRepeatedDouble(1.0, 1); |
| [1.0].forEach((e) => msgAllTypes.addRepeatedDouble(e)); |
| msgPackedTypes.addPackedFixed32(1, 1); |
| [1].forEach((e) => msgPackedTypes.addPackedFixed32(e)); |
| msgAllTypes.addRepeatedFixed32(1, 1); |
| [1].forEach((e) => msgAllTypes.addRepeatedFixed32(e)); |
| msgPackedTypes.addPackedFixed64(1, 1); |
| [1].forEach((e) => msgPackedTypes.addPackedFixed64(e)); |
| msgAllTypes.addRepeatedFixed64(1, 1); |
| [1].forEach((e) => msgAllTypes.addRepeatedFixed64(e)); |
| msgPackedTypes.addPackedFloat(1.0, 1); |
| [1.0].forEach((e) => msgPackedTypes.addPackedFloat(e)); |
| msgAllTypes.addRepeatedFloat(1.0, 1); |
| [1.0].forEach((e) => msgAllTypes.addRepeatedFloat(e)); |
| msgPackedTypes.addPackedInt32(1, 1); |
| [1].forEach((e) => msgPackedTypes.addPackedInt32(e)); |
| msgAllTypes.addRepeatedInt32(1, 1); |
| [1].forEach((e) => msgAllTypes.addRepeatedInt32(e)); |
| msgPackedTypes.addPackedInt64(1, 1); |
| [1].forEach((e) => msgPackedTypes.addPackedInt64(e)); |
| msgAllTypes.addRepeatedInt64(1, 1); |
| [1].forEach((e) => msgAllTypes.addRepeatedInt64(e)); |
| // msgPackedTypes.addPackedEnum(ForeignEnum.FOREIGN_BAR); |
| // [ForeignEnum.FOREIGN_BAR].forEach((e) => msgPackedTypes.addPackedEnum(e)); |
| // msgAllTypes.addRepeatedForeignEnum(ForeignEnum.FOREIGN_BAR); |
| // [ForeignEnum.FOREIGN_BAR].forEach( |
| // (e) => msgAllTypes.addRepeatedForeignEnum(e)); |
| msgAllTypes.addRepeatedForeignMessage(ForeignMessage.deserialize(''), 1); |
| [ForeignMessage.deserialize('')].forEach( |
| (e) => msgAllTypes.addRepeatedForeignMessage(e)); |
| msgPackedTypes.addPackedSfixed32(1, 1); |
| [1].forEach((e) => msgPackedTypes.addPackedSfixed32(e)); |
| msgAllTypes.addRepeatedSfixed32(1, 1); |
| [1].forEach((e) => msgAllTypes.addRepeatedSfixed32(e)); |
| msgPackedTypes.addPackedSfixed64(1, 1); |
| [1].forEach((e) => msgPackedTypes.addPackedSfixed64(e)); |
| msgAllTypes.addRepeatedSfixed64(1, 1); |
| [1].forEach((e) => msgAllTypes.addRepeatedSfixed64(e)); |
| msgPackedTypes.addPackedSint32(1, 1); |
| [1].forEach((e) => msgPackedTypes.addPackedSint32(e)); |
| msgAllTypes.addRepeatedSint32(1, 1); |
| [1].forEach((e) => msgAllTypes.addRepeatedSint32(e)); |
| msgPackedTypes.addPackedSint64(1, 1); |
| [1].forEach((e) => msgPackedTypes.addPackedSint64(e)); |
| msgAllTypes.addRepeatedSint64(1, 1); |
| [1].forEach((e) => msgAllTypes.addRepeatedSint64(e)); |
| msgAllTypes.addRepeatedString('', 1); |
| [''].forEach((e) => msgAllTypes.addRepeatedString(e)); |
| msgPackedTypes.addPackedUint32(1, 1); |
| [1].forEach((e) => msgPackedTypes.addPackedUint32(e)); |
| msgAllTypes.addRepeatedUint32(1, 1); |
| [1].forEach((e) => msgAllTypes.addRepeatedUint32(e)); |
| msgPackedTypes.addPackedUint64(1, 1); |
| [1].forEach((e) => msgPackedTypes.addPackedUint64(e)); |
| msgAllTypes.addRepeatedUint64(1, 1); |
| [1].forEach((e) => msgAllTypes.addRepeatedUint64(e)); |
| |
| msgAllTypes.setOptionalBool(true); |
| msgAllTypes.setOptionalBytes(''); |
| msgAllTypes.setOptionalDouble(1.0); |
| msgAllTypes.setOptionalFixed32(1); |
| msgAllTypes.setOptionalFixed64(1); |
| msgAllTypes.setOptionalFloat(1.0); |
| msgAllTypes.setOptionalInt32(1); |
| msgAllTypes.setOptionalInt64(1); |
| // msgAllTypes.setOptionalForeignEnum(ForeignEnum.FOREIGN_BAR); |
| msgAllTypes.setOptionalForeignMessage(ForeignMessage.deserialize('')); |
| msgAllTypes.setOptionalSfixed32(1); |
| msgAllTypes.setOptionalSfixed64(1); |
| msgAllTypes.setOptionalSint32(1); |
| msgAllTypes.setOptionalSint64(1); |
| msgAllTypes.setOptionalString(''); |
| msgAllTypes.setOptionalUint32(1); |
| msgAllTypes.setOptionalUint64(1); |
| msgPackedTypes.setPackedBoolList([true]); |
| let arrayVal; |
| arrayVal = msgPackedTypes.getPackedBoolList(); |
| arrayVal[0] = true; |
| msgPackedTypes.setPackedBoolList(arrayVal); |
| msgAllTypes.setRepeatedBoolList([true]); |
| arrayVal = msgAllTypes.getRepeatedBoolList(); |
| arrayVal[0] = true; |
| msgAllTypes.setRepeatedBoolList(arrayVal); |
| msgAllTypes.setRepeatedBytesList(['']); |
| arrayVal = msgAllTypes.getRepeatedBytesList(); |
| arrayVal[0] = ''; |
| msgAllTypes.setRepeatedBytesList(arrayVal); |
| msgPackedTypes.setPackedDoubleList([1.0]); |
| arrayVal = msgPackedTypes.getPackedDoubleList(); |
| arrayVal[0] = 1.0; |
| msgPackedTypes.setPackedDoubleList(arrayVal); |
| msgAllTypes.setRepeatedDoubleList([1.0]); |
| arrayVal = msgAllTypes.getRepeatedDoubleList(); |
| arrayVal[0] = 1.0; |
| msgAllTypes.setRepeatedDoubleList(arrayVal); |
| msgPackedTypes.setPackedFixed32List([1]); |
| arrayVal = msgPackedTypes.getPackedFixed32List(); |
| arrayVal[0] = 1; |
| msgPackedTypes.setPackedFixed32List(arrayVal); |
| msgAllTypes.setRepeatedFixed32List([1]); |
| arrayVal = msgAllTypes.getRepeatedFixed32List(); |
| arrayVal[0] = 1; |
| msgAllTypes.setRepeatedFixed32List(arrayVal); |
| msgPackedTypes.setPackedFixed64List([1]); |
| arrayVal = msgPackedTypes.getPackedFixed64List(); |
| arrayVal[0] = 1; |
| msgPackedTypes.setPackedFixed64List(arrayVal); |
| msgAllTypes.setRepeatedFixed64List([1]); |
| arrayVal = msgAllTypes.getRepeatedFixed64List(); |
| arrayVal[0] = 1; |
| msgAllTypes.setRepeatedFixed64List(arrayVal); |
| msgPackedTypes.setPackedFloatList([1.0]); |
| arrayVal = msgPackedTypes.getPackedFloatList(); |
| arrayVal[0] = 1.0; |
| msgPackedTypes.setPackedFloatList(arrayVal); |
| msgAllTypes.setRepeatedFloatList([1.0]); |
| arrayVal = msgAllTypes.getRepeatedFloatList(); |
| arrayVal[0] = 1.0; |
| msgAllTypes.setRepeatedFloatList(arrayVal); |
| msgPackedTypes.setPackedInt32List([1]); |
| arrayVal = msgPackedTypes.getPackedInt32List(); |
| arrayVal[0] = 1; |
| msgPackedTypes.setPackedInt32List(arrayVal); |
| msgAllTypes.setRepeatedInt32List([1]); |
| arrayVal = msgAllTypes.getRepeatedInt32List(); |
| arrayVal[0] = 1; |
| msgAllTypes.setRepeatedInt32List(arrayVal); |
| msgPackedTypes.setPackedInt64List([1]); |
| arrayVal = msgPackedTypes.getPackedInt64List(); |
| arrayVal[0] = 1; |
| msgPackedTypes.setPackedInt64List(arrayVal); |
| msgAllTypes.setRepeatedInt64List([1]); |
| arrayVal = msgAllTypes.getRepeatedInt64List(); |
| arrayVal[0] = 1; |
| msgAllTypes.setRepeatedInt64List(arrayVal); |
| // msgPackedTypes.setPackedEnumList([ForeignEnum.FOREIGN_BAR]); |
| // arrayVal = msgPackedTypes.getPackedEnumList(); |
| // arrayVal[0] = ForeignEnum.FOREIGN_BAR; |
| // msgPackedTypes.setPackedEnumList(arrayVal); |
| // msgAllTypes.setRepeatedForeignEnumList([ForeignEnum.FOREIGN_BAR]); |
| // arrayVal = msgAllTypes.getRepeatedForeignEnumList(); |
| // arrayVal[0] = ForeignEnum.FOREIGN_BAR; |
| // msgAllTypes.setRepeatedForeignEnumList(arrayVal); |
| msgAllTypes.setRepeatedForeignMessageList([ForeignMessage.deserialize('')]); |
| arrayVal = msgAllTypes.getRepeatedForeignMessageList(); |
| arrayVal[0] = ForeignMessage.deserialize(''); |
| msgAllTypes.setRepeatedForeignMessageList(arrayVal); |
| msgPackedTypes.setPackedSfixed32List([1]); |
| arrayVal = msgPackedTypes.getPackedSfixed32List(); |
| arrayVal[0] = 1; |
| msgPackedTypes.setPackedSfixed32List(arrayVal); |
| msgAllTypes.setRepeatedSfixed32List([1]); |
| arrayVal = msgAllTypes.getRepeatedSfixed32List(); |
| arrayVal[0] = 1; |
| msgAllTypes.setRepeatedSfixed32List(arrayVal); |
| msgPackedTypes.setPackedSfixed64List([1]); |
| arrayVal = msgPackedTypes.getPackedSfixed64List(); |
| arrayVal[0] = 1; |
| msgPackedTypes.setPackedSfixed64List(arrayVal); |
| msgAllTypes.setRepeatedSfixed64List([1]); |
| arrayVal = msgAllTypes.getRepeatedSfixed64List(); |
| arrayVal[0] = 1; |
| msgAllTypes.setRepeatedSfixed64List(arrayVal); |
| msgPackedTypes.setPackedSint32List([1]); |
| arrayVal = msgPackedTypes.getPackedSint32List(); |
| arrayVal[0] = 1; |
| msgPackedTypes.setPackedSint32List(arrayVal); |
| msgAllTypes.setRepeatedSint32List([1]); |
| arrayVal = msgAllTypes.getRepeatedSint32List(); |
| arrayVal[0] = 1; |
| msgAllTypes.setRepeatedSint32List(arrayVal); |
| msgPackedTypes.setPackedSint64List([1]); |
| arrayVal = msgPackedTypes.getPackedSint64List(); |
| arrayVal[0] = 1; |
| msgPackedTypes.setPackedSint64List(arrayVal); |
| msgAllTypes.setRepeatedSint64List([1]); |
| arrayVal = msgAllTypes.getRepeatedSint64List(); |
| arrayVal[0] = 1; |
| msgAllTypes.setRepeatedSint64List(arrayVal); |
| msgPackedTypes.setPackedUint32List([1]); |
| arrayVal = msgPackedTypes.getPackedUint32List(); |
| arrayVal[0] = 1; |
| msgPackedTypes.setPackedUint32List(arrayVal); |
| msgAllTypes.setRepeatedUint32List([1]); |
| arrayVal = msgAllTypes.getRepeatedUint32List(); |
| arrayVal[0] = 1; |
| msgAllTypes.setRepeatedUint32List(arrayVal); |
| msgPackedTypes.setPackedUint64List([1]); |
| arrayVal = msgPackedTypes.getPackedUint64List(); |
| arrayVal[0] = 1; |
| msgPackedTypes.setPackedUint64List(arrayVal); |
| msgAllTypes.setRepeatedUint64List([1]); |
| arrayVal = msgAllTypes.getRepeatedUint64List(); |
| arrayVal[0] = 1; |
| msgAllTypes.setRepeatedUint64List(arrayVal); |
| |
| let s = ''; |
| s += msgAllTypes.getOptionalBool() || false; |
| s += msgAllTypes.getOptionalBytes() || ''; |
| // s += msgAllTypes.getOptionalBytes_asB64() || ""; |
| // s += msgAllTypes.getOptionalBytes_asU8() || new Uint8Array([]); |
| s += msgAllTypes.getOptionalDouble() || 0.0; |
| s += msgAllTypes.getOptionalFixed32() || 0; |
| s += msgAllTypes.getOptionalFixed64() || 0; |
| s += msgAllTypes.getOptionalFloat() || 0.0; |
| s += msgAllTypes.getOptionalInt32() || 0; |
| s += msgAllTypes.getOptionalInt64() || 0; |
| // s += msgAllTypes.getOptionalForeignEnum() || ForeignEnum.FOREIGN_BAR; |
| s += msgAllTypes.getOptionalForeignMessage(); |
| s += msgAllTypes.getOptionalSfixed32() || 0; |
| s += msgAllTypes.getOptionalSfixed64() || 0; |
| s += msgAllTypes.getOptionalSint32() || 0; |
| s += msgAllTypes.getOptionalSint64() || 0; |
| s += msgAllTypes.getOptionalString() || ''; |
| s += msgAllTypes.getOptionalUint32() || 0; |
| s += msgAllTypes.getOptionalUint64() || 0; |
| s += msgAllTypes.getRepeatedBoolList(); |
| s += msgAllTypes.getRepeatedBoolList()[0]; |
| s += msgAllTypes.getRepeatedBoolList().length; |
| s += msgAllTypes.getRepeatedBytesList(); |
| s += msgAllTypes.getRepeatedBytesList()[0]; |
| s += msgAllTypes.getRepeatedBytesList().length; |
| s += msgAllTypes.getRepeatedBytesList_asB64(); |
| s += msgAllTypes.getRepeatedBytesList_asU8(); |
| s += msgAllTypes.getRepeatedDoubleList(); |
| s += msgAllTypes.getRepeatedDoubleList()[0]; |
| s += msgAllTypes.getRepeatedDoubleList().length; |
| s += msgAllTypes.getRepeatedFixed32List(); |
| s += msgAllTypes.getRepeatedFixed32List()[0]; |
| s += msgAllTypes.getRepeatedFixed32List().length; |
| s += msgAllTypes.getRepeatedFixed64List(); |
| s += msgAllTypes.getRepeatedFixed64List()[0]; |
| s += msgAllTypes.getRepeatedFixed64List().length; |
| s += msgAllTypes.getRepeatedFloatList(); |
| s += msgAllTypes.getRepeatedFloatList()[0]; |
| s += msgAllTypes.getRepeatedFloatList().length; |
| s += msgAllTypes.getRepeatedInt32List(); |
| s += msgAllTypes.getRepeatedInt32List()[0]; |
| s += msgAllTypes.getRepeatedInt32List().length; |
| s += msgAllTypes.getRepeatedInt64List(); |
| s += msgAllTypes.getRepeatedInt64List()[0]; |
| s += msgAllTypes.getRepeatedInt64List().length; |
| // s += msgAllTypes.getRepeatedForeignEnumList(); |
| // s += msgAllTypes.getRepeatedForeignEnumList()[0]; |
| // s += msgAllTypes.getRepeatedForeignEnumList().length; |
| s += msgAllTypes.getRepeatedForeignMessageList(); |
| s += msgAllTypes.getRepeatedForeignMessageList()[0]; |
| s += msgAllTypes.getRepeatedForeignMessageList().length; |
| s += msgAllTypes.getRepeatedSfixed32List(); |
| s += msgAllTypes.getRepeatedSfixed32List()[0]; |
| s += msgAllTypes.getRepeatedSfixed32List().length; |
| s += msgAllTypes.getRepeatedSfixed64List(); |
| s += msgAllTypes.getRepeatedSfixed64List()[0]; |
| s += msgAllTypes.getRepeatedSfixed64List().length; |
| s += msgAllTypes.getRepeatedSint32List(); |
| s += msgAllTypes.getRepeatedSint32List()[0]; |
| s += msgAllTypes.getRepeatedSint32List().length; |
| s += msgAllTypes.getRepeatedSint64List(); |
| s += msgAllTypes.getRepeatedSint64List()[0]; |
| s += msgAllTypes.getRepeatedSint64List().length; |
| s += msgAllTypes.getRepeatedStringList(); |
| s += msgAllTypes.getRepeatedStringList()[0]; |
| s += msgAllTypes.getRepeatedStringList().length; |
| s += msgAllTypes.getRepeatedUint32List(); |
| s += msgAllTypes.getRepeatedUint32List()[0]; |
| s += msgAllTypes.getRepeatedUint32List().length; |
| s += msgAllTypes.getRepeatedUint64List(); |
| s += msgAllTypes.getRepeatedUint64List()[0]; |
| s += msgAllTypes.getRepeatedUint64List().length; |
| |
| s += msgAllTypes.serialize(); |
| s += msgPackedTypes.serialize(); |
| |
| return s; |
| } |
| |
| goog.global['__hiddenTest'] += accessAllTypes(); |