Add dependencies locally

This commit is contained in:
Ahrimdon
2024-02-27 03:09:30 -05:00
parent 1679ef60cc
commit 70e8a8502b
5698 changed files with 2770161 additions and 12 deletions

View File

@ -0,0 +1,312 @@
/**
* @fileoverview The code size benchmark of apps JSPB for proto2 all types
*/
goog.module('protobuf.benchmark.code_size.apps_jspb.AllTypesProto2');
// const ForeignEnum = goog.require('proto.proto2_unittest.ForeignEnum');
const ForeignMessage = goog.require('proto.proto2_unittest.ForeignMessage');
const TestAllTypes = goog.require('proto.proto2_unittest.TestAllTypes');
const TestPackedTypes = goog.require('proto.proto2_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_asB64();
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_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_asB64();
s += msgAllTypes.getRepeatedBytesList_asB64()[0];
s += msgAllTypes.getRepeatedBytesList_asB64().length;
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();

View File

@ -0,0 +1,312 @@
/**
* @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_asB64();
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_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_asB64();
s += msgAllTypes.getRepeatedBytesList_asB64()[0];
s += msgAllTypes.getRepeatedBytesList_asB64().length;
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();

View File

@ -0,0 +1,53 @@
/**
* @fileoverview The code size benchmark of apps JSPB for proto2 popular types.
*/
goog.module('protobuf.benchmark.code_size.apps_jspb.PopularTypesProto2');
// const ForeignEnum = goog.require('proto.proto2_unittest.ForeignEnum');
const ForeignMessage = goog.require('proto.proto2_unittest.ForeignMessage');
const TestAllTypes = goog.require('proto.proto2_unittest.TestAllTypes');
const {ensureCommonBaseLine} = goog.require('protobuf.benchmark.codeSize.codeSizeBase');
ensureCommonBaseLine();
/**
* @return {string}
*/
function accessPopularTypes() {
const msgAllTypes = TestAllTypes.deserialize('');
msgAllTypes.addRepeatedForeignMessage(ForeignMessage.deserialize(''), 1);
[ForeignMessage.deserialize('')].forEach(
(e) => msgAllTypes.addRepeatedForeignMessage(e));
msgAllTypes.setOptionalString('');
msgAllTypes.setOptionalInt32(1);
msgAllTypes.setOptionalForeignMessage(ForeignMessage.deserialize(''));
msgAllTypes.setOptionalBool(true);
// msgAllTypes.setOptionalForeignEnum(ForeignEnum.FOREIGN_BAR);
msgAllTypes.setOptionalInt64(1);
msgAllTypes.setOptionalDouble(1.0);
msgAllTypes.setRepeatedForeignMessageList([ForeignMessage.deserialize('')]);
let arrayVal = msgAllTypes.getRepeatedForeignMessageList();
arrayVal[0] = ForeignMessage.deserialize('');
msgAllTypes.setRepeatedForeignMessageList(arrayVal);
msgAllTypes.setOptionalUint64(1);
let s = '';
s += msgAllTypes.getOptionalString();
s += msgAllTypes.getOptionalInt32();
s += msgAllTypes.getOptionalForeignMessage();
s += msgAllTypes.getOptionalBool();
// s += msgAllTypes.getOptionalForeignEnum();
s += msgAllTypes.getOptionalInt64();
s += msgAllTypes.getOptionalDouble();
s += msgAllTypes.getRepeatedForeignMessageList();
s += msgAllTypes.getRepeatedForeignMessageList()[0];
s += msgAllTypes.getRepeatedForeignMessageList().length;
s += msgAllTypes.getOptionalUint64();
s += msgAllTypes.serialize();
return s;
}
goog.global['__hiddenTest'] += accessPopularTypes();

View File

@ -0,0 +1,53 @@
/**
* @fileoverview The code size benchmark of apps JSPB for proto3 popular types.
*/
goog.module('protobuf.benchmark.code_size.apps_jspb.PopularTypesProto3');
// 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 {ensureCommonBaseLine} = goog.require('protobuf.benchmark.codeSize.codeSizeBase');
ensureCommonBaseLine();
/**
* @return {string}
*/
function accessPopularTypes() {
const msgAllTypes = TestAllTypes.deserialize('');
msgAllTypes.addRepeatedForeignMessage(ForeignMessage.deserialize(''), 1);
[ForeignMessage.deserialize('')].forEach(
(e) => msgAllTypes.addRepeatedForeignMessage(e));
msgAllTypes.setOptionalString('');
msgAllTypes.setOptionalInt32(1);
msgAllTypes.setOptionalForeignMessage(ForeignMessage.deserialize(''));
msgAllTypes.setOptionalBool(true);
// msgAllTypes.setOptionalForeignEnum(ForeignEnum.FOREIGN_BAR);
msgAllTypes.setOptionalInt64(1);
msgAllTypes.setOptionalDouble(1.0);
msgAllTypes.setRepeatedForeignMessageList([ForeignMessage.deserialize('')]);
let arrayVal = msgAllTypes.getRepeatedForeignMessageList();
arrayVal[0] = ForeignMessage.deserialize('');
msgAllTypes.setRepeatedForeignMessageList(arrayVal);
msgAllTypes.setOptionalUint64(1);
let s = '';
s += msgAllTypes.getOptionalString();
s += msgAllTypes.getOptionalInt32();
s += msgAllTypes.getOptionalForeignMessage();
s += msgAllTypes.getOptionalBool();
// s += msgAllTypes.getOptionalForeignEnum();
s += msgAllTypes.getOptionalInt64();
s += msgAllTypes.getOptionalDouble();
s += msgAllTypes.getRepeatedForeignMessageList();
s += msgAllTypes.getRepeatedForeignMessageList()[0];
s += msgAllTypes.getRepeatedForeignMessageList().length;
s += msgAllTypes.getOptionalUint64();
s += msgAllTypes.serialize();
return s;
}
goog.global['__hiddenTest'] += accessPopularTypes();

View File

@ -0,0 +1,57 @@
/**
* @fileoverview Ensures types are live that would be live in a typical g3
* JS program.
*
* Making certain constructs live ensures that we compare against the same
* baseline for all code size benchmarks. This increases the size
* of our benchmarks, but note that this size in a regular app would be
* attributes to other places.
*/
goog.module('protobuf.benchmark.codeSize.codeSizeBase');
/**
* Ensures that the array iterator polyfill is live.
* @return {string}
*/
function useArrayIterator() {
let a = [];
let s = '';
for (let value of a) {
s += value;
}
return s;
}
/**
* Ensures that the symbol iterator polyfill is live.
* @return {string}
*/
function useSymbolIterator() {
/**
* @implements {Iterable}
*/
class Foo {
/** @return {!Iterator} */
[Symbol.iterator]() {}
}
let foo = new Foo();
let s = '';
for (let value of foo) {
s += value;
}
return s;
}
/**
* Ensures certain base libs are live so we can have an apples to apples
* comparison for code size of different implementations
*/
function ensureCommonBaseLine() {
goog.global['__hiddenTest'] += useArrayIterator();
goog.global['__hiddenTest'] += useSymbolIterator();
}
exports = {ensureCommonBaseLine};

View File

@ -0,0 +1,227 @@
/**
* @fileoverview The code size benchmark of binary kernel for accessing all
* types setter and getter.
*/
goog.module('protobuf.benchmark.KernelCodeSizeBenchmarkAllTypes');
const ByteString = goog.require('protobuf.ByteString');
const Int64 = goog.require('protobuf.Int64');
const Kernel = goog.require('protobuf.runtime.Kernel');
const TestMessage = goog.require('protobuf.testing.binary.TestMessage');
const {ensureCommonBaseLine} = goog.require('protobuf.benchmark.codeSize.codeSizeBase');
ensureCommonBaseLine();
/**
* @return {string}
*/
function accessAllTypes() {
const message = new TestMessage(Kernel.createEmpty());
message.addPackedBoolElement(1, true);
message.addPackedBoolIterable(1, [true]);
message.addUnpackedBoolElement(1, true);
message.addUnpackedBoolIterable(1, [true]);
message.addRepeatedBytesElement(1, ByteString.EMPTY);
message.addRepeatedBytesIterable(1, [ByteString.EMPTY]);
message.addPackedDoubleElement(1, 1.0);
message.addPackedDoubleIterable(1, [1.0]);
message.addUnpackedDoubleElement(1, 1.0);
message.addUnpackedDoubleIterable(1, [1.0]);
message.addPackedFixed32Element(1, 1);
message.addPackedFixed32Iterable(1, [1]);
message.addUnpackedFixed32Element(1, 1);
message.addUnpackedFixed32Iterable(1, [1]);
message.addPackedFixed64Element(1, Int64.fromBits(0, 1));
message.addPackedFixed64Iterable(1, [Int64.fromBits(0, 1)]);
message.addUnpackedFixed64Element(1, Int64.fromBits(0, 1));
message.addUnpackedFixed64Iterable(1, [Int64.fromBits(0, 1)]);
message.addPackedFloatElement(1, 1.0);
message.addPackedFloatIterable(1, [1.0]);
message.addUnpackedFloatElement(1, 1.0);
message.addUnpackedFloatIterable(1, [1.0]);
message.addPackedInt32Element(1, 1);
message.addPackedInt32Iterable(1, [1]);
message.addUnpackedInt32Element(1, 1);
message.addUnpackedInt32Iterable(1, [1]);
message.addPackedInt64Element(1, Int64.fromBits(0, 1));
message.addPackedInt64Iterable(1, [Int64.fromBits(0, 1)]);
message.addUnpackedInt64Element(1, Int64.fromBits(0, 1));
message.addUnpackedInt64Iterable(1, [Int64.fromBits(0, 1)]);
message.addRepeatedMessageElement(1, message, TestMessage.instanceCreator);
message.addRepeatedMessageIterable(1, [message], TestMessage.instanceCreator);
message.addPackedSfixed32Element(1, 1);
message.addPackedSfixed32Iterable(1, [1]);
message.addUnpackedSfixed32Element(1, 1);
message.addUnpackedSfixed32Iterable(1, [1]);
message.addPackedSfixed64Element(1, Int64.fromBits(0, 1));
message.addPackedSfixed64Iterable(1, [Int64.fromBits(0, 1)]);
message.addUnpackedSfixed64Element(1, Int64.fromBits(0, 1));
message.addUnpackedSfixed64Iterable(1, [Int64.fromBits(0, 1)]);
message.addPackedSint32Element(1, 1);
message.addPackedSint32Iterable(1, [1]);
message.addUnpackedSint32Element(1, 1);
message.addUnpackedSint32Iterable(1, [1]);
message.addPackedSint64Element(1, Int64.fromBits(0, 1));
message.addPackedSint64Iterable(1, [Int64.fromBits(0, 1)]);
message.addUnpackedSint64Element(1, Int64.fromBits(0, 1));
message.addUnpackedSint64Iterable(1, [Int64.fromBits(0, 1)]);
message.addRepeatedStringElement(1, '');
message.addRepeatedStringIterable(1, ['']);
message.addPackedUint32Element(1, 1);
message.addPackedUint32Iterable(1, [1]);
message.addUnpackedUint32Element(1, 1);
message.addUnpackedUint32Iterable(1, [1]);
message.addPackedUint64Element(1, Int64.fromBits(0, 1));
message.addPackedUint64Iterable(1, [Int64.fromBits(0, 1)]);
message.addUnpackedUint64Element(1, Int64.fromBits(0, 1));
message.addUnpackedUint64Iterable(1, [Int64.fromBits(0, 1)]);
message.setBool(1, true);
message.setBytes(1, ByteString.EMPTY);
message.setDouble(1, 1.0);
message.setFixed32(1, 1);
message.setFixed64(1, Int64.fromBits(0, 1));
message.setFloat(1, 1.0);
message.setInt32(1, 1);
message.setInt64(1, Int64.fromBits(0, 1));
message.setMessage(1, message);
message.setSfixed32(1, 1);
message.setSfixed64(1, Int64.fromBits(0, 1));
message.setSint32(1, 1);
message.setSint64(1, Int64.fromBits(0, 1));
message.setString(1, 'abc');
message.setUint32(1, 1);
message.setUint64(1, Int64.fromBits(0, 1));
message.setPackedBoolElement(1, 0, true);
message.setPackedBoolIterable(1, [true]);
message.setUnpackedBoolElement(1, 0, true);
message.setUnpackedBoolIterable(1, [true]);
message.setRepeatedBytesElement(1, 0, ByteString.EMPTY);
message.setRepeatedBytesIterable(1, [ByteString.EMPTY]);
message.setPackedDoubleElement(1, 0, 1.0);
message.setPackedDoubleIterable(1, [1.0]);
message.setUnpackedDoubleElement(1, 0, 1.0);
message.setUnpackedDoubleIterable(1, [1.0]);
message.setPackedFixed32Element(1, 0, 1);
message.setPackedFixed32Iterable(1, [1]);
message.setUnpackedFixed32Element(1, 0, 1);
message.setUnpackedFixed32Iterable(1, [1]);
message.setPackedFixed64Element(1, 0, Int64.fromBits(0, 1));
message.setPackedFixed64Iterable(1, [Int64.fromBits(0, 1)]);
message.setUnpackedFixed64Element(1, 0, Int64.fromBits(0, 1));
message.setUnpackedFixed64Iterable(1, [Int64.fromBits(0, 1)]);
message.setPackedFloatElement(1, 0, 1.0);
message.setPackedFloatIterable(1, [1.0]);
message.setUnpackedFloatElement(1, 0, 1.0);
message.setUnpackedFloatIterable(1, [1.0]);
message.setPackedInt32Element(1, 0, 1);
message.setPackedInt32Iterable(1, [1]);
message.setUnpackedInt32Element(1, 0, 1);
message.setUnpackedInt32Iterable(1, [1]);
message.setPackedInt64Element(1, 0, Int64.fromBits(0, 1));
message.setPackedInt64Iterable(1, [Int64.fromBits(0, 1)]);
message.setUnpackedInt64Element(1, 0, Int64.fromBits(0, 1));
message.setUnpackedInt64Iterable(1, [Int64.fromBits(0, 1)]);
message.setRepeatedMessageElement(1, message, TestMessage.instanceCreator, 0);
message.setRepeatedMessageIterable(1, [message]);
message.setPackedSfixed32Element(1, 0, 1);
message.setPackedSfixed32Iterable(1, [1]);
message.setUnpackedSfixed32Element(1, 0, 1);
message.setUnpackedSfixed32Iterable(1, [1]);
message.setPackedSfixed64Element(1, 0, Int64.fromBits(0, 1));
message.setPackedSfixed64Iterable(1, [Int64.fromBits(0, 1)]);
message.setUnpackedSfixed64Element(1, 0, Int64.fromBits(0, 1));
message.setUnpackedSfixed64Iterable(1, [Int64.fromBits(0, 1)]);
message.setRepeatedStringElement(1, 0, '');
message.setRepeatedStringIterable(1, ['']);
message.setPackedSint32Element(1, 0, 1);
message.setPackedSint32Iterable(1, [1]);
message.setUnpackedSint32Element(1, 0, 1);
message.setUnpackedSint32Iterable(1, [1]);
message.setPackedSint64Element(1, 0, Int64.fromBits(0, 1));
message.setPackedSint64Iterable(1, [Int64.fromBits(0, 1)]);
message.setUnpackedSint64Element(1, 0, Int64.fromBits(0, 1));
message.setUnpackedSint64Iterable(1, [Int64.fromBits(0, 1)]);
message.setPackedUint32Element(1, 0, 1);
message.setPackedUint32Iterable(1, [1]);
message.setUnpackedUint32Element(1, 0, 1);
message.setUnpackedUint32Iterable(1, [1]);
message.setPackedUint64Element(1, 0, Int64.fromBits(0, 1));
message.setPackedUint64Iterable(1, [Int64.fromBits(0, 1)]);
message.setUnpackedUint64Element(1, 0, Int64.fromBits(0, 1));
message.setUnpackedUint64Iterable(1, [Int64.fromBits(0, 1)]);
let s = '';
s += message.getBoolWithDefault(1);
s += message.getBytesWithDefault(1);
s += message.getDoubleWithDefault(1);
s += message.getFixed32WithDefault(1);
s += message.getFixed64WithDefault(1);
s += message.getFloatWithDefault(1);
s += message.getInt32WithDefault(1);
s += message.getInt64WithDefault(1);
s += message.getMessage(1, TestMessage.instanceCreator);
s += message.getSfixed32WithDefault(1);
s += message.getSfixed64WithDefault(1);
s += message.getSint32WithDefault(1);
s += message.getSint64WithDefault(1);
s += message.getStringWithDefault(1);
s += message.getUint32WithDefault(1);
s += message.getUint64WithDefault(1);
s += message.getRepeatedBoolElement(1, 0);
s += message.getRepeatedBoolIterable(1);
s += message.getRepeatedBoolSize(1);
s += message.getRepeatedBytesElement(1, 0);
s += message.getRepeatedBytesIterable(1);
s += message.getRepeatedBytesSize(1);
s += message.getRepeatedDoubleElement(1, 0);
s += message.getRepeatedDoubleIterable(1);
s += message.getRepeatedDoubleSize(1);
s += message.getRepeatedFixed32Element(1, 0);
s += message.getRepeatedFixed32Iterable(1);
s += message.getRepeatedFixed32Size(1);
s += message.getRepeatedFixed64Element(1, 0);
s += message.getRepeatedFixed64Iterable(1);
s += message.getRepeatedFixed64Size(1);
s += message.getRepeatedFloatElement(1, 0);
s += message.getRepeatedFloatIterable(1);
s += message.getRepeatedFloatSize(1);
s += message.getRepeatedInt32Element(1, 0);
s += message.getRepeatedInt32Iterable(1);
s += message.getRepeatedInt32Size(1);
s += message.getRepeatedInt64Element(1, 0);
s += message.getRepeatedInt64Iterable(1);
s += message.getRepeatedInt64Size(1);
s += message.getRepeatedMessageElement(1, TestMessage.instanceCreator, 0);
s += message.getRepeatedMessageIterable(1, TestMessage.instanceCreator);
s += message.getRepeatedMessageSize(1, TestMessage.instanceCreator);
s += message.getRepeatedSfixed32Element(1, 0);
s += message.getRepeatedSfixed32Iterable(1);
s += message.getRepeatedSfixed32Size(1);
s += message.getRepeatedSfixed64Element(1, 0);
s += message.getRepeatedSfixed64Iterable(1);
s += message.getRepeatedSfixed64Size(1);
s += message.getRepeatedSint32Element(1, 0);
s += message.getRepeatedSint32Iterable(1);
s += message.getRepeatedSint32Size(1);
s += message.getRepeatedSint64Element(1, 0);
s += message.getRepeatedSint64Iterable(1);
s += message.getRepeatedSint64Size(1);
s += message.getRepeatedStringElement(1, 0);
s += message.getRepeatedStringIterable(1);
s += message.getRepeatedStringSize(1);
s += message.getRepeatedUint32Element(1, 0);
s += message.getRepeatedUint32Iterable(1);
s += message.getRepeatedUint32Size(1);
s += message.getRepeatedUint64Element(1, 0);
s += message.getRepeatedUint64Iterable(1);
s += message.getRepeatedUint64Size(1);
s += message.serialize();
return s;
}
goog.global['__hiddenTest'] += accessAllTypes();

View File

@ -0,0 +1,68 @@
/**
* @fileoverview The code size benchmark of binary kernel for accessing all
* popular types setter and getter.
*
* The types are those whose usage are more than 1%:
*
* ('STRING__LABEL_OPTIONAL', '29.7214%')
* ('INT32__LABEL_OPTIONAL', '17.7277%')
* ('MESSAGE__LABEL_OPTIONAL', '15.6462%')
* ('BOOL__LABEL_OPTIONAL', '13.0038%')
* ('ENUM__LABEL_OPTIONAL', '11.4466%')
* ('INT64__LABEL_OPTIONAL', '3.2198%')
* ('DOUBLE__LABEL_OPTIONAL', '1.357%')
* ('MESSAGE__LABEL_REPEATED', '1.2775%')
* ('FIXED32__LABEL_REQUIRED', '1.2%')
* ('UINT64__LABEL_OPTIONAL', '1.1771%')
* ('STRING__LABEL_REQUIRED', '1.0785%')
*
*/
goog.module('protobuf.benchmark.KernelCodeSizeBenchmarkPopularTypes');
const Int64 = goog.require('protobuf.Int64');
const Kernel = goog.require('protobuf.runtime.Kernel');
const TestMessage = goog.require('protobuf.testing.binary.TestMessage');
const {ensureCommonBaseLine} = goog.require('protobuf.benchmark.codeSize.codeSizeBase');
ensureCommonBaseLine();
/**
* @return {string}
*/
function accessAllTypes() {
const message = new TestMessage(Kernel.createEmpty());
message.addRepeatedMessageElement(1, message, TestMessage.instanceCreator);
message.addRepeatedMessageIterable(1, [message], TestMessage.instanceCreator);
message.setString(1, 'abc');
message.setInt32(1, 1);
message.setMessage(1, message);
message.setBool(1, true);
message.setInt64(1, Int64.fromBits(0, 1));
message.setDouble(1, 1.0);
message.setRepeatedMessageElement(1, message, TestMessage.instanceCreator, 0);
message.setRepeatedMessageIterable(1, [message]);
message.setUint64(1, Int64.fromBits(0, 1));
let s = '';
s += message.getStringWithDefault(1);
s += message.getInt32WithDefault(1);
s += message.getMessage(1, TestMessage.instanceCreator);
s += message.getMessageOrNull(1, TestMessage.instanceCreator);
s += message.getBoolWithDefault(1);
s += message.getInt64WithDefault(1);
s += message.getDoubleWithDefault(1);
s += message.getRepeatedMessageElement(1, TestMessage.instanceCreator, 0);
s += message.getRepeatedMessageIterable(1, TestMessage.instanceCreator);
s += message.getRepeatedMessageSize(1, TestMessage.instanceCreator);
s += message.getUint64WithDefault(1);
s += message.serialize();
return s;
}
goog.global['__hiddenTest'] += accessAllTypes();