private void addEnum() { directSize += memoryModel.ref(); }
private void addField(FieldType type, Field field) { if (fields == null) { fields = new ArrayList<>(); } directSize += memoryModel.ref(); fields.add(new FieldAndType(field, type)); }
public long lengthForObjectArrayOfSize(long length) { return lengthForPrimitiveArrayOfSize(ref(), length); } public long lengthForLongArrayOfSize(long length) {
public static long getSizeOfStruct(StandardConstantStructObjectInspector soi) { long result = 0; // add constant object overhead for struct result += JavaDataModel.get().object(); // add constant struct field names references overhead result += soi.getAllStructFieldRefs().size() * JavaDataModel.get().ref(); List<?> value = soi.getWritableConstantValue(); List<? extends StructField> fields = soi.getAllStructFieldRefs(); if (value == null || value.size() != fields.size()) { return result; } for (int i = 0; i < fields.size(); i++) { result += getWritableSize(fields.get(i).getFieldObjectInspector(), value.get(i)); } return result; }
public static long getSizeOfStruct(StandardConstantStructObjectInspector soi) { long result = 0; // add constant object overhead for struct result += JavaDataModel.get().object(); // add constant struct field names references overhead result += soi.getAllStructFieldRefs().size() * JavaDataModel.get().ref(); List<?> value = soi.getWritableConstantValue(); List<? extends StructField> fields = soi.getAllStructFieldRefs(); if (value == null || value.size() != fields.size()) { return result; } for (int i = 0; i < fields.size(); i++) { result += getWritableSize(fields.get(i).getFieldObjectInspector(), value.get(i)); } return result; }
private static void addHardcodedEstimators(HashMap<Class<?>, ObjectEstimator> byType) { // Add hacks for well-known collections and maps to avoid estimating them. byType.put(ArrayList.class, new CollectionEstimator(memoryModel.arrayList(), memoryModel.ref())); byType.put(LinkedList.class, new CollectionEstimator(memoryModel.linkedListBase(), memoryModel.linkedListEntry())); byType.put(HashSet.class, new CollectionEstimator(memoryModel.hashSetBase(), memoryModel.hashSetEntry())); byType.put(HashMap.class, new CollectionEstimator(memoryModel.hashMapBase(), memoryModel.hashMapEntry())); }
@Override public long getAggregationBufferFixedSize() { JavaDataModel model = JavaDataModel.get(); return JavaDataModel.alignUp( model.object() + model.ref()+ model.primitive1()*2, model.memoryAlign()); }
@Override public long getAggregationBufferFixedSize() { JavaDataModel model = JavaDataModel.get(); return JavaDataModel.alignUp( model.object() + model.ref()+ model.primitive1()*2, model.memoryAlign()); }
referencedSize += memoryModel.object(); referencedSize += estimateCollectionElements(parent, c, e.field, uniqueObjects); referencedSize += memoryModel.array() + c.size() * memoryModel.ref(); } else if (collEstimator instanceof CollectionEstimator) { referencedSize += memoryModel.object(); referencedSize += estimateMapElements(parent, m, e.field, uniqueObjects); referencedSize += memoryModel.array() + m.size() * (memoryModel.ref() * 2 + memoryModel.object()); } else if (collEstimator instanceof CollectionEstimator) { referencedSize += memoryModel.object(); referencedSize += JavaDataModel.alignUp(memoryModel.array() + len * memoryModel.ref(), memoryModel.memoryAlign()); if (len == 0)
@Override public int getAggregationBufferFixedSize() { JavaDataModel model = JavaDataModel.get(); return JavaDataModel.alignUp( model.object() + model.ref()+ model.primitive1()*2, model.memoryAlign()); }
@Override public int getAggregationBufferFixedSize() { JavaDataModel model = JavaDataModel.get(); return JavaDataModel.alignUp( model.object() + model.ref()+ model.primitive1()*2, model.memoryAlign()); }
public void compileAggregationBatchInfo(VectorAggregateExpression[] aggregators) { JavaDataModel model = JavaDataModel.get(); int[] variableSizeAggregators = new int[aggregators.length]; int indexVariableSizes = 0; aggregatorsFixedSize = JavaDataModel.alignUp( model.object() + model.primitive1()*2 + model.ref(), model.memoryAlign()); aggregatorsFixedSize += model.lengthForObjectArrayOfSize(aggregators.length); for(int i=0;i<aggregators.length;++i) { VectorAggregateExpression aggregator = aggregators[i]; aggregatorsFixedSize += aggregator.getAggregationBufferFixedSize(); if (aggregator.hasVariableSize()) { variableSizeAggregators[indexVariableSizes] = i; ++indexVariableSizes; } } this.variableSizeAggregators = Arrays.copyOfRange( variableSizeAggregators, 0, indexVariableSizes); }
public void compileAggregationBatchInfo(VectorAggregateExpression[] aggregators) { JavaDataModel model = JavaDataModel.get(); int[] variableSizeAggregators = new int[aggregators.length]; int indexVariableSizes = 0; aggregatorsFixedSize = JavaDataModel.alignUp( model.object() + model.primitive1()*2 + model.ref(), model.memoryAlign()); aggregatorsFixedSize += model.lengthForObjectArrayOfSize(aggregators.length); for(int i=0;i<aggregators.length;++i) { VectorAggregateExpression aggregator = aggregators[i]; aggregatorsFixedSize += aggregator.getAggregationBufferFixedSize(); if (aggregator.hasVariableSize()) { variableSizeAggregators[indexVariableSizes] = i; ++indexVariableSizes; } } this.variableSizeAggregators = Arrays.copyOfRange( variableSizeAggregators, 0, indexVariableSizes); }
result += soi.getAllStructFieldRefs().size() * JavaDataModel.get().ref(); for (StructField field : soi.getAllStructFieldRefs()) { result += getSizeOfComplexTypes(conf, field.getFieldObjectInspector());
result += soi.getAllStructFieldRefs().size() * JavaDataModel.get().ref(); for (StructField field : soi.getAllStructFieldRefs()) { result += getSizeOfComplexTypes(conf, field.getFieldObjectInspector());
model.ref() * MODEL_REFERENCES_COUNT + model.primitive1(), model.memoryAlign());
model.ref() * MODEL_REFERENCES_COUNT + model.primitive1(), model.memoryAlign());
public int lengthForObjectArrayOfSize(int length) { return lengthForPrimitiveArrayOfSize(ref(), length); } public int lengthForLongArrayOfSize(int length) {
@Override public int getAggregationBufferFixedSize() { JavaDataModel model = JavaDataModel.get(); return JavaDataModel.alignUp( model.object() + model.ref()+ model.primitive1()*2, model.memoryAlign()); }
@Override public int getAggregationBufferFixedSize() { JavaDataModel model = JavaDataModel.get(); return JavaDataModel.alignUp( model.object() + model.ref()+ model.primitive1()*2, model.memoryAlign()); }