private int lengthOfBigInteger() { // object overhead + 4 bytes for bitCount + 4 bytes for bitLength // + 4 bytes for firstNonzeroByteNum + 4 bytes for firstNonzeroIntNum + // + 4 bytes for lowestSetBit + 5 bytes for size of magnitude (since max precision // is only 38 for HiveDecimal) + 7 bytes of padding (since java memory allocations // are 8 byte aligned) return object() + 4 * primitive2(); }
@Override public long getAggregationBufferFixedSize() { JavaDataModel model = JavaDataModel.get(); return JavaDataModel.alignUp( model.object(), model.memoryAlign()); }
@Override public long getEstimatedMemorySize() { JavaDataModel jdm = JavaDataModel.get(); long size = 0; size += vectorMapJoinFastHashTable.getEstimatedMemorySize(); size += (4 * jdm.primitive1()); size += (2 * jdm.object()); size += (jdm.primitive2()); return size; }
@Override public long getAggregationBufferFixedSize() { JavaDataModel model = JavaDataModel.get(); return JavaDataModel.alignUp( model.object(), model.memoryAlign()); }
public int lengthOfTimestamp() { // object overhead + 4 bytes for int (nanos) + 4 bytes of padding return object() + primitive2(); }
@Override public long getEstimatedMemorySize() { JavaDataModel jdm = JavaDataModel.get(); long size = super.getEstimatedMemorySize(); size += slotPairs == null ? 0 : jdm.lengthForLongArrayOfSize(slotPairs.length); size += (2 * jdm.primitive2()); size += (2 * jdm.primitive1()); size += jdm.object(); // adding 16KB constant memory for keyBinarySortableDeserializeRead as the rabit hole is deep to implement // MemoryEstimate interface, also it is constant overhead size += (16 * 1024L); return size; } }
public static int calculateEstimatedMemorySize(int count) { // FUTURE: Partitioning not included yet. final int longMatchFlagsSize = (count + Long.SIZE - 1) / Long.SIZE; int size = 0; JavaDataModel jdm = JavaDataModel.get(); size += jdm.lengthForLongArrayOfSize(longMatchFlagsSize); size += jdm.primitive1(); size += (2 * jdm.object()); return size; } }
@Override public long getAggregationBufferFixedSize() { JavaDataModel model = JavaDataModel.get(); return JavaDataModel.alignUp( model.object(), model.memoryAlign()); }
public int lengthOfDate() { // object overhead + 8 bytes for long (fastTime) + 16 bytes for cdate return object() + 3 * primitive2(); }
@Override public long getAggregationBufferFixedSize() { JavaDataModel model = JavaDataModel.get(); return JavaDataModel.alignUp( model.object() + model.primitive2(), model.memoryAlign()); }
public int lengthForRandom() { // boolean + double + AtomicLong return object() + primitive1() + primitive2() + object() + primitive2(); }
@Override public long getAggregationBufferFixedSize() { JavaDataModel model = JavaDataModel.get(); return JavaDataModel.alignUp( model.object() + model.primitive2() * 2, model.memoryAlign()); }
public int lengthOfDecimal() { // object overhead + 8 bytes for intCompact + 4 bytes for precision // + 4 bytes for scale + size of BigInteger return object() + 2 * primitive2() + lengthOfBigInteger(); }
@Override public long getAggregationBufferFixedSize() { JavaDataModel model = JavaDataModel.get(); return JavaDataModel.alignUp( model.object() + model.primitive2() * 2, model.memoryAlign()); }
public int lengthFor(JavaDataModel model) { int length = model.object(); length += model.primitive1() * 2; // two int int numBins = getNumBins(); if (numBins > 0) { length += model.arrayList(); // List<Coord> // Coord holds two doubles length += numBins * (model.object() + model.primitive2() * 2); } length += model.lengthForRandom(); // Random return length; } }
@Override public long getAggregationBufferFixedSize() { JavaDataModel model = JavaDataModel.get(); return JavaDataModel.alignUp( model.object(), model.memoryAlign()); }
public int lengthFor(JavaDataModel model) { int length = model.object(); length += model.primitive1() * 2; // two int int numBins = getNumBins(); if (numBins > 0) { length += model.arrayList(); // List<Coord> // Coord holds two doubles length += numBins * (model.object() + model.primitive2() * 2); } length += model.lengthForRandom(); // Random return length; } }
@Override public long getAggregationBufferFixedSize() { JavaDataModel model = JavaDataModel.get(); return JavaDataModel.alignUp( model.object(), model.memoryAlign()); }
@InterfaceAudience.LimitedPrivate(value = {"Hive" }) static int lengthFor(JavaDataModel model, Integer numVector) { int length = model.object(); length += model.primitive1() * 2; // two int length += model.primitive2(); // one double length += model.lengthForRandom() * 2; // two Random if (numVector == null) { numVector = 16; // HiveConf hive.stats.ndv.error default produces 16 vectors } if (numVector > 0) { length += model.array() * 3; // three array length += model.primitive1() * numVector * 2; // two int array length += (model.object() + model.array() + model.primitive1() + model.primitive2()) * numVector; // bitset array } return length; }