public Slice serialize() { int size = estimatedSerializedSize(); DynamicSliceOutput output = new DynamicSliceOutput(size) .appendByte(Format.DENSE_V2.getTag()) .appendByte(indexBitLength) .appendByte(baseline) .appendBytes(deltas) .appendShort(overflows); // sort overflow arrays to get consistent serialization for equivalent HLLs sortOverflows(); for (int i = 0; i < overflows; i++) { output.appendShort(overflowBuckets[i]); } for (int i = 0; i < overflows; i++) { output.appendByte(overflowValues[i]); } return output.slice(); }
public Slice serialize() { int size = estimatedSerializedSize(); DynamicSliceOutput output = new DynamicSliceOutput(size) .appendByte(Format.DENSE_V2.getTag()) .appendByte(indexBitLength) .appendByte(baseline) .appendBytes(deltas) .appendShort(overflows); // sort overflow arrays to get consistent serialization for equivalent HLLs sortOverflows(); for (int i = 0; i < overflows; i++) { output.appendShort(overflowBuckets[i]); } for (int i = 0; i < overflows; i++) { output.appendByte(overflowValues[i]); } return output.slice(); }
public Slice serialize() { int size = SizeOf.SIZE_OF_BYTE + // format tag SizeOf.SIZE_OF_BYTE + // p SizeOf.SIZE_OF_SHORT + // number of entries SizeOf.SIZE_OF_INT * numberOfEntries; DynamicSliceOutput out = new DynamicSliceOutput(size) .appendByte(Format.SPARSE_V2.getTag()) .appendByte(indexBitLength) .appendShort(numberOfEntries); for (int i = 0; i < numberOfEntries; i++) { out.appendInt(entries[i]); } return out.slice(); }
public Slice serialize() { int size = SizeOf.SIZE_OF_BYTE + // format tag SizeOf.SIZE_OF_BYTE + // p SizeOf.SIZE_OF_SHORT + // number of entries SizeOf.SIZE_OF_INT * numberOfEntries; DynamicSliceOutput out = new DynamicSliceOutput(size) .appendByte(Format.SPARSE_V2.getTag()) .appendByte(indexBitLength) .appendShort(numberOfEntries); for (int i = 0; i < numberOfEntries; i++) { out.appendInt(entries[i]); } return out.slice(); }
@Test public void testRetainedSize() throws Exception { int sliceOutputInstanceSize = ClassLayout.parseClass(DynamicSliceOutput.class).instanceSize(); DynamicSliceOutput output = new DynamicSliceOutput(10); long originalRetainedSize = output.getRetainedSize(); assertEquals(originalRetainedSize, sliceOutputInstanceSize + output.getUnderlyingSlice().getRetainedSize()); assertEquals(output.size(), 0); output.appendLong(0); output.appendShort(0); assertEquals(output.getRetainedSize(), originalRetainedSize); assertEquals(output.size(), 10); }
@Test public void testRetainedSize() throws Exception { int sliceOutputInstanceSize = ClassLayout.parseClass(DynamicSliceOutput.class).instanceSize(); DynamicSliceOutput output = new DynamicSliceOutput(10); long originalRetainedSize = output.getRetainedSize(); assertEquals(originalRetainedSize, sliceOutputInstanceSize + output.getUnderlyingSlice().getRetainedSize()); assertEquals(output.size(), 0); output.appendLong(0); output.appendShort(0); assertEquals(output.getRetainedSize(), originalRetainedSize); assertEquals(output.size(), 10); }