private int maxSize(int capacity) { // No sense in trying to rehash after each insertion // if the capacity is already reached the limit. return !isMaxCapacity(capacity) ? configWrapper.maxSize(capacity) : capacity - 1; }
private int maxSize(int capacity) { // No sense in trying to rehash after each insertion // if the capacity is already reached the limit. return !isMaxCapacity(capacity) ? configWrapper.maxSize(capacity) : capacity - 1; }
private int maxSize(int capacity) { // No sense in trying to rehash after each insertion // if the capacity is already reached the limit. return !isMaxCapacity(capacity) ? configWrapper.maxSize(capacity) : capacity - 1; }
private int maxSize(int capacity) { // No sense in trying to rehash after each insertion // if the capacity is already reached the limit. return !isMaxCapacity(capacity) ? configWrapper.maxSize(capacity) : capacity - 1; }
private int maxSize(int capacity) { // No sense in trying to rehash after each insertion // if the capacity is already reached the limit. return !isMaxCapacity(capacity) ? configWrapper.maxSize(capacity) : capacity - 1; }
private int maxSize(int capacity) { // No sense in trying to rehash after each insertion // if the capacity is already reached the limit. return !isMaxCapacity(capacity) ? configWrapper.maxSize(capacity) : capacity - 1; }
private int maxSize(int capacity) { return !(isMaxCapacity(capacity)) ? configWrapper.maxSize(capacity) : capacity - 1; }
final void copy(LHash hash) { configWrapper = hash.configWrapper(); size = hash.size(); int capacity = hash.capacity(); maxSize = maxSize(capacity); }
final void copy(LHash hash) { configWrapper = hash.configWrapper(); size = hash.size(); int capacity = hash.capacity(); maxSize = maxSize(capacity); }
private void internalInit(final int capacity) { initTimer.start(); this.capacity = capacity; this.maxSize = !QHashCapacities.isMaxCapacity(capacity, false) ? config.maxSize(capacity) : capacity - 1; this.batches = (int) Math.ceil( capacity / (MAX_VALUES_PER_BATCH * 1.0d) ); final ControlBlock[] newControlBlocks = new ControlBlock[batches]; tableControlAddresses = new long[batches]; try(RollbackCloseable rollbackable = new RollbackCloseable()) { for(int i =0; i < batches; i++){ newControlBlocks[i] = new ControlBlock(allocator, MAX_VALUES_PER_BATCH); rollbackable.add(newControlBlocks[i]); tableControlAddresses[i] = newControlBlocks[i].getMemoryAddress(); final long addr = newControlBlocks[i].getMemoryAddress(); final long max = addr + MAX_VALUES_PER_BATCH * CONTROL_WIDTH; for(long l = addr; l < max; l+= QBlockHashTable.CONTROL_WIDTH){ PlatformDependent.putLong(l, QBlockHashTable.LFREE); } } this.controlBlocks = newControlBlocks; rollbackable.commit(); } catch (Exception e) { throw Throwables.propagate(e); } initTimer.stop(); } }
private void internalInit(final int capacity) { // capacity is power of two. assert (capacity & (capacity - 1)) == 0; initTimer.start(); this.capacity = capacity; this.maxSize = !LHashCapacities.isMaxCapacity(capacity, false) ? config.maxSize(capacity) : capacity - 1; this.batches = (int) Math.ceil( capacity / (MAX_VALUES_PER_BATCH * 1.0d) ); final ControlBlock[] newControlBlocks = new ControlBlock[batches]; tableControlAddresses = new long[batches]; capacityMask = capacity - 1; try(RollbackCloseable rollbackable = new RollbackCloseable()) { for(int i =0; i < batches; i++){ newControlBlocks[i] = new ControlBlock(allocator, MAX_VALUES_PER_BATCH); rollbackable.add(newControlBlocks[i]); tableControlAddresses[i] = newControlBlocks[i].getMemoryAddress(); final long addr = newControlBlocks[i].getMemoryAddress(); final long max = addr + MAX_VALUES_PER_BATCH * CONTROL_WIDTH; for(long l = addr; l < max; l+= LBlockHashTable.CONTROL_WIDTH){ PlatformDependent.putLong(l, LBlockHashTable.LFREE); } } this.controlBlocks = newControlBlocks; rollbackable.commit(); } catch (Exception e) { throw Throwables.propagate(e); } initTimer.stop(); }
final int newMaxSize = !LHashCapacities.isMaxCapacity(capacity, false) ? config.maxSize(capacity) : capacity - 1; final int newBatches = (int) Math.ceil( capacity / (MAX_VALUES_PER_BATCH * 1.0d) );
initTimer.start(); this.capacity = capacity; this.maxSize = !LHashCapacities.isMaxCapacity(capacity, false) ? config.maxSize(capacity) : capacity - 1; this.batches = (int) Math.ceil( capacity / (MAX_VALUES_PER_BATCH * 1.0d) ); final FixedBlockVector[] newFixedBlocks = new FixedBlockVector[batches];
private void resetToMinimumSizeHelper() throws Exception { controlBlocks[0].reset(); fixedBlocks[0].reset(); variableBlocks[0].reset(); currentOrdinal = 0; gaps = 0; capacity = MAX_VALUES_PER_BATCH; maxSize = !LHashCapacities.isMaxCapacity(capacity, false) ? config.maxSize(capacity) : capacity - 1; batches = 1; openVariableAddresses[0] = initVariableAddresses[0]; initControlBlock(tableControlAddresses[0]); listener.resetToMinimumSize(); }