@Override public boolean isEmpty() { return data.isEmpty(); }
@Override public boolean isEmpty() { return data.isEmpty(); }
public boolean isEmpty() { return probeIndexBuilder.isEmpty() && buildPageBuilder.isEmpty(); }
@Override public synchronized void accept(Page page) { // reset the assignment lists for (IntList partitionAssignment : partitionAssignments) { partitionAssignment.clear(); } // assign each row to a partition for (int position = 0; position < page.getPositionCount(); position++) { int partition = partitionGenerator.getPartition(page, position); partitionAssignments[partition].add(position); } // build a page for each partition Block[] outputBlocks = new Block[page.getChannelCount()]; for (int partition = 0; partition < buffers.size(); partition++) { IntArrayList positions = partitionAssignments[partition]; if (!positions.isEmpty()) { for (int i = 0; i < page.getChannelCount(); i++) { outputBlocks[i] = page.getBlock(i).copyPositions(positions.elements(), 0, positions.size()); } Page pageSplit = new Page(positions.size(), outputBlocks); memoryManager.updateMemoryUsage(pageSplit.getRetainedSizeInBytes()); buffers.get(partition).accept(new PageReference(pageSplit, 1, () -> memoryManager.updateMemoryUsage(-pageSplit.getRetainedSizeInBytes()))); } } }
int previousPosition = probeIndexBuilder.isEmpty() ? -1 : probeIndexBuilder.get(probeIndexBuilder.size() - 1);
if (!positions.isEmpty()) { arrayPositionLinksFactoryBuilder.link(key, positions.get(0));
@Override public boolean isEmpty() { return data.isEmpty(); }
@Override public boolean isEmpty() { return values.isEmpty(); }
@Override public boolean isEmpty() { return data.isEmpty(); }
@Override public boolean isEmpty() { return data.isEmpty(); }
@Override public boolean isEmpty() { return data.isEmpty(); }
@Override public boolean isEmpty() { return data.isEmpty(); }
public boolean isEmpty() { return probeIndexBuilder.isEmpty() && buildPageBuilder.isEmpty(); }
public boolean isEmpty() { return probeIndexBuilder.isEmpty() && buildPageBuilder.isEmpty(); }
private void shift() { while (!inter.isEmpty()) stack.push(inter.popInt()); stack.push(input++); }
private void shift() { while (!inter.isEmpty()) stack.push(inter.popInt()); stack.push(input++); }
private void peel(final int x) { // System.err.println("Visiting " + x + "..."); final int[] vertex1 = this.vertex1; final int[] vertex2 = this.vertex2; final int[] edge = this.edge; final int[] stack = this.stack; final int[] d = this.d; final IntArrayList visitStack = this.visitStack; // Queue initialization int v; visitStack.clear(); visitStack.push(x); while (! visitStack.isEmpty()) { v = visitStack.popInt(); if (d[v] == 1) { stack[top++] = v; --d[v]; // System.err.println("Stripping <" + v + ", " + vertex1[v] + ", " + vertex2[v] + ">"); xorEdge(computeEdges ? edge[v] : -1, v, vertex1[v], vertex2[v], true); if (--d[vertex1[v]] == 1) visitStack.add(vertex1[v]); if (--d[vertex2[v]] == 1) visitStack.add(vertex2[v]); } } } }
@Override public synchronized void accept(Page page) { // reset the assignment lists for (IntList partitionAssignment : partitionAssignments) { partitionAssignment.clear(); } // assign each row to a partition for (int position = 0; position < page.getPositionCount(); position++) { int partition = partitionGenerator.getPartition(page, position); partitionAssignments[partition].add(position); } // build a page for each partition Block[] outputBlocks = new Block[page.getChannelCount()]; for (int partition = 0; partition < buffers.size(); partition++) { IntArrayList positions = partitionAssignments[partition]; if (!positions.isEmpty()) { for (int i = 0; i < page.getChannelCount(); i++) { outputBlocks[i] = page.getBlock(i).copyPositions(positions.elements(), 0, positions.size()); } Page pageSplit = new Page(positions.size(), outputBlocks); memoryManager.updateMemoryUsage(pageSplit.getRetainedSizeInBytes()); buffers.get(partition).accept(new PageReference(pageSplit, 1, () -> memoryManager.updateMemoryUsage(-pageSplit.getRetainedSizeInBytes()))); } } }
@Override public synchronized void accept(Page page) { // reset the assignment lists for (IntList partitionAssignment : partitionAssignments) { partitionAssignment.clear(); } // assign each row to a partition for (int position = 0; position < page.getPositionCount(); position++) { int partition = partitionGenerator.getPartition(page, position); partitionAssignments[partition].add(position); } // build a page for each partition Block[] outputBlocks = new Block[page.getChannelCount()]; for (int partition = 0; partition < buffers.size(); partition++) { IntArrayList positions = partitionAssignments[partition]; if (!positions.isEmpty()) { for (int i = 0; i < page.getChannelCount(); i++) { outputBlocks[i] = page.getBlock(i).copyPositions(positions.elements(), 0, positions.size()); } Page pageSplit = new Page(positions.size(), outputBlocks); memoryManager.updateMemoryUsage(pageSplit.getRetainedSizeInBytes()); buffers.get(partition).accept(new PageReference(pageSplit, 1, () -> memoryManager.updateMemoryUsage(-pageSplit.getRetainedSizeInBytes()))); } } }