/** * This method can be expensive for complex types. */ public long getRetainedSizeInBytes() { long sizeInBytes = 0; for (PageBuilder pageBuilder : pageBuilders) { sizeInBytes += pageBuilder.getRetainedSizeInBytes(); } return sizeInBytes; }
public long getRetainedSizeInBytes() { long retainedSizeInBytes = INSTANCE_SIZE; retainedSizeInBytes += pageBuilder.getRetainedSizeInBytes(); for (Page page : outputQueue) { retainedSizeInBytes += page.getRetainedSizeInBytes(); } return retainedSizeInBytes; } }
private void startNewPage() { if (currentPageBuilder != null) { completedPagesMemorySize += currentPageBuilder.getRetainedSizeInBytes(); currentPageBuilder = currentPageBuilder.newPageBuilderLike(); } else { currentPageBuilder = new PageBuilder(types); } for (int i = 0; i < types.size(); i++) { channelBuilders.get(i).add(currentPageBuilder.getBlockBuilder(i)); } }
@Override public long getEstimatedSize() { return INSTANCE_SIZE + (sizeOf(channelBuilders.get(0).elements()) * channelBuilders.size()) + completedPagesMemorySize + currentPageBuilder.getRetainedSizeInBytes() + sizeOf(groupAddressByHash) + sizeOf(groupIdsByHash) + groupAddressByGroupId.sizeOf() + sizeOf(rawHashByHashPosition) + preallocatedMemoryInBytes; }
if (!updateMemoryAfterEveryPosition) { memoryContext.setBytes(pageBuilder.getRetainedSizeInBytes()); memoryContext.setBytes(pageBuilder.getRetainedSizeInBytes()); memoryContext.setBytes(pageBuilder.getRetainedSizeInBytes());
private void updateMemoryUsage() { long memorySize = pageBuilder.getRetainedSizeInBytes(); for (Page output : outputPages) { memorySize += output.getRetainedSizeInBytes(); } for (Aggregator aggregator : aggregates) { memorySize += aggregator.getEstimatedSize(); } if (currentGroup != null) { memorySize += currentGroup.getRetainedSizeInBytes(); } if (step.isOutputPartial()) { systemMemoryContext.setBytes(memorySize); } else { userMemoryContext.setBytes(memorySize); } }
@Override public long getEstimatedSize() { return INSTANCE_SIZE + headBlockIndex.sizeOf() + headPosition.sizeOf() + tailBlockIndex.sizeOf() + tailPosition.sizeOf() + nextBlockIndex.sizeOf() + nextPosition.sizeOf() + groupEntryCount.sizeOf() + valueBlocksRetainedSizeInBytes + // valueBlocksRetainedSizeInBytes doesn't contain the current block builder currentPageBuilder.getRetainedSizeInBytes(); }
private long getRetainedSizeOf(Object object) return ((PageBuilder) object).getRetainedSizeInBytes();
valueBlocksRetainedSizeInBytes += currentPageBuilder.getRetainedSizeInBytes(); sumPositions.add(totalPositions); currentPageBuilder = currentPageBuilder.newPageBuilderLike();
private Page processColumnSource() { DriverYieldSignal yieldSignal = operatorContext.getDriverContext().getYieldSignal(); if (!finishing && !yieldSignal.isSet()) { CursorProcessorOutput output = cursorProcessor.process(operatorContext.getSession().toConnectorSession(), yieldSignal, cursor, pageBuilder); pageSourceMemoryContext.setBytes(cursor.getSystemMemoryUsage()); long bytesProcessed = cursor.getCompletedBytes() - completedBytes; long elapsedNanos = cursor.getReadTimeNanos() - readTimeNanos; operatorContext.recordRawInputWithTiming(bytesProcessed, elapsedNanos); // TODO: derive better values for cursors operatorContext.recordProcessedInput(bytesProcessed, output.getProcessedRows()); completedBytes = cursor.getCompletedBytes(); readTimeNanos = cursor.getReadTimeNanos(); if (output.isNoMoreRows()) { finishing = true; mergingOutput.finish(); } } // only return a page if buffer is full or we are finishing Page page = null; if (!pageBuilder.isEmpty() && (finishing || pageBuilder.isFull())) { page = pageBuilder.build(); pageBuilder.reset(); } outputMemoryContext.setBytes(pageBuilder.getRetainedSizeInBytes()); return page; }
private void startNewPage() { if (currentPageBuilder != null) { completedPagesMemorySize += currentPageBuilder.getRetainedSizeInBytes(); } currentPageBuilder = new PageBuilder(types); for (int i = 0; i < types.size(); i++) { channelBuilders.get(i).add(currentPageBuilder.getBlockBuilder(i)); } }
@Override public long getEstimatedSize() { return (sizeOf(channelBuilders.get(0).elements()) * channelBuilders.size()) + completedPagesMemorySize + currentPageBuilder.getRetainedSizeInBytes() + sizeOf(groupAddressByHash) + sizeOf(groupIdsByHash) + groupAddressByGroupId.sizeOf(); }
assertEquals(driverContext.getSystemMemoryUsage(), pageBuilder.getRetainedSizeInBytes());
pageBuilderMemoryContext.setBytes(pageBuilder.getRetainedSizeInBytes()); return null; pageBuilder.reset(); pageBuilderMemoryContext.setBytes(pageBuilder.getRetainedSizeInBytes()); return page;