Function zstd_sys::ZDICT_trainFromBuffer
[−]
[src]
pub unsafe extern "C" fn ZDICT_trainFromBuffer(
dictBuffer: *mut c_void,
dictBufferCapacity: usize,
samplesBuffer: *const c_void,
samplesSizes: *const usize,
nbSamples: c_uint
) -> usize
ZDICT_trainFromBuffer():
Train a dictionary from an array of samples.
Uses ZDICT_optimizeTrainFromBuffer_cover() single-threaded, with d=8 and steps=4.
Samples must be stored concatenated in a single flat buffer samplesBuffer
,
supplied with an array of sizes samplesSizes
, providing the size of each sample, in order.
The resulting dictionary will be saved into dictBuffer
.
@return: size of dictionary stored into dictBuffer
(<= dictBufferCapacity
)
or an error code, which can be tested with ZDICT_isError().
Note: ZDICT_trainFromBuffer() requires about 9 bytes of memory for each input byte.
Tips: In general, a reasonable dictionary has a size of ~ 100 KB.
It's obviously possible to target smaller or larger ones, just by specifying different dictBufferCapacity
.
In general, it's recommended to provide a few thousands samples, but this can vary a lot.
It's recommended that total size of all samples be about ~x100 times the target size of dictionary.