Skip to content

Commit

Permalink
stop ContainerAppender from capturing its builder
Browse files Browse the repository at this point in the history
  • Loading branch information
richardstartin committed Sep 5, 2019
1 parent 20ac157 commit a3d7dd5
Showing 1 changed file with 8 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -139,8 +139,9 @@ public Wizard<C, T> doPartialRadixSort() {
*/
@Override
public RoaringBitmapWriter<T> get() {
int capacity = initialCapacity;
return new ContainerAppender<>(
partiallySortValues, () -> createUnderlying(initialCapacity), containerSupplier);
partiallySortValues, () -> createUnderlying(capacity), containerSupplier);
}

private static void sanityCheck(int count) {
Expand All @@ -157,7 +158,8 @@ class BufferWizard extends Wizard<MappeableContainer, MutableRoaringBitmap> {

@Override
protected Supplier<MappeableContainer> arraySupplier() {
return () -> new MappeableArrayContainer(expectedContainerSize);
int size = expectedContainerSize;
return () -> new MappeableArrayContainer(size);
}

@Override
Expand All @@ -175,7 +177,8 @@ abstract class RoaringWizard<T extends RoaringBitmap> extends Wizard<Container,

@Override
protected Supplier<Container> arraySupplier() {
return () -> new ArrayContainer(expectedContainerSize);
int size = expectedContainerSize;
return () -> new ArrayContainer(size);
}

@Override
Expand All @@ -191,8 +194,9 @@ public Wizard<Container, FastRankRoaringBitmap> fastRank() {
@Override
public RoaringBitmapWriter<T> get() {
if (constantMemory) {
int capacity = initialCapacity;
return new ConstantMemoryContainerAppender<>(
partiallySortValues, () -> createUnderlying(initialCapacity));
partiallySortValues, () -> createUnderlying(capacity));
}
return super.get();
}
Expand Down

0 comments on commit a3d7dd5

Please sign in to comment.