public final class PagedGrowableWriter extends LongValues
PagedGrowableWriter
. This class slices data into fixed-size blocks
which have independent numbers of bits per value and grow on-demand.
You should use this class instead of the PackedLongValues
related ones only when
you need random write-access. Otherwise this class will likely be slower and
less memory-efficient.
IDENTITY
Constructor and Description |
---|
PagedGrowableWriter(long size,
int pageSize,
int startBitsPerValue,
float acceptableOverheadRatio)
Create a new
PagedGrowableWriter instance. |
Modifier and Type | Method and Description |
---|---|
protected long |
baseRamBytesUsed() |
protected void |
fillPages() |
long |
get(long index)
Get value at
index . |
T |
grow()
Similar to
ArrayUtil.grow(long[]) . |
T |
grow(long minSize)
Similar to
ArrayUtil.grow(long[], int) . |
protected PackedInts.Mutable |
newMutable(int valueCount,
int bitsPerValue) |
protected PagedGrowableWriter |
newUnfilledCopy(long newSize) |
long |
ramBytesUsed()
Return the memory usage of this object in bytes.
|
T |
resize(long newSize)
Create a new copy of size
newSize based on the content of
this buffer. |
void |
set(long index,
long value)
Set value at
index . |
long |
size()
The number of values.
|
String |
toString() |
get
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getChildResources
public PagedGrowableWriter(long size, int pageSize, int startBitsPerValue, float acceptableOverheadRatio)
PagedGrowableWriter
instance.size
- the number of values to store.pageSize
- the number of values per pagestartBitsPerValue
- the initial number of bits per valueacceptableOverheadRatio
- an acceptable overhead ratioprotected PackedInts.Mutable newMutable(int valueCount, int bitsPerValue)
protected PagedGrowableWriter newUnfilledCopy(long newSize)
protected long baseRamBytesUsed()
protected final void fillPages()
public final long size()
public final long get(long index)
LongValues
index
.get
in class LongValues
public final void set(long index, long value)
index
.public long ramBytesUsed()
Accountable
ramBytesUsed
in interface Accountable
public final T resize(long newSize)
newSize
based on the content of
this buffer. This method is much more efficient than creating a new
instance and copying values one by one.public final T grow(long minSize)
ArrayUtil.grow(long[], int)
.public final T grow()
ArrayUtil.grow(long[])
.Copyright © 2000-2017 Apache Software Foundation. All Rights Reserved.