public int countTotal() { int bookmark = ordinal; reset(); int count = 0; while(next() != ORDINAL_NONE) count++; ordinal = bookmark; return count; }
private void populateStats() { iter.reset(); int removedEntryCount = 0; long totalElementCount = 0; int ordinal = iter.next(); while(ordinal != ORDINAL_NONE) { removedEntryCount++; totalElementCount += typeState.size(ordinal); ordinal = iter.next(); } historicalDataElements.maxOrdinal = removedEntryCount - 1; historicalDataElements.totalNumberOfElements = totalElementCount; historicalDataElements.bitsPerListPointer = totalElementCount == 0 ? 1 : 64 - Long.numberOfLeadingZeros(totalElementCount); historicalDataElements.bitsPerElement = stateEngineDataElements[0].bitsPerElement; ordinalMapping = new IntMap(removedEntryCount); }
private void populateStats() { iter.reset(); int removedEntryCount = 0; int maxSize = 0; long totalBucketCount = 0; int ordinal = iter.next(); while(ordinal != ORDINAL_NONE) { removedEntryCount++; int size = typeState.size(ordinal); if(size > maxSize) maxSize = size; totalBucketCount += HashCodes.hashTableSize(size); ordinal = iter.next(); } historicalDataElements.maxOrdinal = removedEntryCount - 1; historicalDataElements.bitsPerSetPointer = 64 - Long.numberOfLeadingZeros(totalBucketCount); historicalDataElements.bitsPerSetSizeValue = 64 - Long.numberOfLeadingZeros(maxSize); historicalDataElements.bitsPerFixedLengthSetPortion = historicalDataElements.bitsPerSetPointer + historicalDataElements.bitsPerSetSizeValue; historicalDataElements.bitsPerElement = stateEngineDataElements[0].bitsPerElement; historicalDataElements.emptyBucketValue = stateEngineDataElements[0].emptyBucketValue; historicalDataElements.totalNumberOfBuckets = totalBucketCount; ordinalMapping = new IntMap(removedEntryCount); }
private void populateStats() { iter.reset(); int removedEntryCount = 0; long totalVarLengthSizes[] = new long[stateEngineDataElements[0].varLengthData.length]; int ordinal = iter.next(); while(ordinal != ORDINAL_NONE) { removedEntryCount++; for(int i=0;i<totalVarLengthSizes.length;i++) { if(stateEngineDataElements[0].varLengthData[i] != null) { totalVarLengthSizes[i] += varLengthSize(ordinal, i); } } ordinal = iter.next(); } historicalDataElements.maxOrdinal = removedEntryCount - 1; for(int i=0;i<stateEngineDataElements[0].bitsPerField.length;i++) { if(stateEngineDataElements[0].varLengthData[i] == null) { historicalDataElements.bitsPerField[i] = stateEngineDataElements[0].bitsPerField[i]; } else { historicalDataElements.bitsPerField[i] = (64 - Long.numberOfLeadingZeros(totalVarLengthSizes[i] + 1)) + 1; } historicalDataElements.nullValueForField[i] = (1L << historicalDataElements.bitsPerField[i]) - 1; historicalDataElements.bitOffsetPerField[i] = historicalDataElements.bitsPerRecord; historicalDataElements.bitsPerRecord += historicalDataElements.bitsPerField[i]; } ordinalMapping = new IntMap(removedEntryCount); }
private void populateStats() { iter.reset(); int removedEntryCount = 0; int maxSize = 0; long totalBucketCount = 0; int ordinal = iter.next(); while(ordinal != ORDINAL_NONE) { removedEntryCount++; int size = typeState.size(ordinal); if(size > maxSize) maxSize = size; totalBucketCount += HashCodes.hashTableSize(size); ordinal = iter.next(); } historicalDataElements.maxOrdinal = removedEntryCount - 1; historicalDataElements.bitsPerMapPointer = 64 - Long.numberOfLeadingZeros(totalBucketCount); historicalDataElements.bitsPerMapSizeValue = 64 - Long.numberOfLeadingZeros(maxSize); historicalDataElements.bitsPerFixedLengthMapPortion = historicalDataElements.bitsPerMapPointer + historicalDataElements.bitsPerMapSizeValue; historicalDataElements.bitsPerKeyElement = stateEngineDataElements[0].bitsPerKeyElement; historicalDataElements.bitsPerValueElement = stateEngineDataElements[0].bitsPerValueElement; historicalDataElements.bitsPerMapEntry = stateEngineDataElements[0].bitsPerMapEntry; historicalDataElements.emptyBucketKeyValue = stateEngineDataElements[0].emptyBucketKeyValue; historicalDataElements.totalNumberOfBuckets = totalBucketCount; ordinalMapping = new IntMap(removedEntryCount); }
public void populateHistory() { populateStats(); historicalDataElements.setPointerAndSizeArray = new FixedLengthElementArray(historicalDataElements.memoryRecycler, ((long)historicalDataElements.maxOrdinal + 1) * historicalDataElements.bitsPerFixedLengthSetPortion); historicalDataElements.elementArray = new FixedLengthElementArray(historicalDataElements.memoryRecycler, historicalDataElements.totalNumberOfBuckets * historicalDataElements.bitsPerElement); iter.reset(); int ordinal = iter.next(); while(ordinal != ORDINAL_NONE) { ordinalMapping.put(ordinal, nextOrdinal); copyRecord(ordinal); ordinal = iter.next(); } }
public void populateHistory() { populateStats(); historicalDataElements.listPointerArray = new FixedLengthElementArray(historicalDataElements.memoryRecycler, ((long)historicalDataElements.maxOrdinal + 1) * historicalDataElements.bitsPerListPointer); historicalDataElements.elementArray = new FixedLengthElementArray(historicalDataElements.memoryRecycler, historicalDataElements.totalNumberOfElements * historicalDataElements.bitsPerElement); iter.reset(); int ordinal = iter.next(); while(ordinal != ORDINAL_NONE) { ordinalMapping.put(ordinal, nextOrdinal); copyRecord(ordinal); ordinal = iter.next(); } }
public void populateHistory() { populateStats(); historicalDataElements.mapPointerAndSizeArray = new FixedLengthElementArray(historicalDataElements.memoryRecycler, ((long)historicalDataElements.maxOrdinal + 1) * historicalDataElements.bitsPerFixedLengthMapPortion); historicalDataElements.entryArray = new FixedLengthElementArray(historicalDataElements.memoryRecycler, historicalDataElements.totalNumberOfBuckets * historicalDataElements.bitsPerMapEntry); iter.reset(); int ordinal = iter.next(); while(ordinal != ORDINAL_NONE) { ordinalMapping.put(ordinal, nextOrdinal); copyRecord(ordinal); ordinal = iter.next(); } }
public void populateHistory() { populateStats(); historicalDataElements.fixedLengthData = new FixedLengthElementArray(historicalDataElements.memoryRecycler, (long)historicalDataElements.bitsPerRecord * (historicalDataElements.maxOrdinal + 1)); for(int i=0;i<historicalDataElements.schema.numFields();i++) { if(stateEngineDataElements[0].varLengthData[i] != null) { historicalDataElements.varLengthData[i] = new SegmentedByteArray(historicalDataElements.memoryRecycler); } } iter.reset(); int ordinal = iter.next(); while(ordinal != ORDINAL_NONE) { ordinalMapping.put(ordinal, nextOrdinal); copyRecord(ordinal); ordinal = iter.next(); } }