MCPcopy Create free account
hub / github.com/apache/impala / DeltaEncodeAll

Function DeltaEncodeAll

be/src/benchmarks/parquet-delta-benchmark.cc:159–181  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

157
158template <typename INT_T>
159std::vector<uint8_t> DeltaEncodeAll(const std::vector<INT_T>& plain,
160 const std::size_t block_size, const std::size_t miniblock_size) {
161 const std::size_t miniblocks_in_block = block_size / miniblock_size;
162 DCHECK(block_size % miniblock_size == 0);
163
164 ParquetDeltaEncoder<INT_T> encoder;
165 Status init_success = encoder.Init(block_size, miniblocks_in_block);
166 DCHECK(init_success.ok());
167
168 std::vector<uint8_t> buffer(encoder.WorstCaseOutputSize(plain.size()), 0);
169 encoder.NewPage(buffer.data(), buffer.size());
170
171 for (INT_T value : plain) {
172 bool success = encoder.Put(value);
173 DCHECK(success);
174 }
175
176 int written_bytes = encoder.FinalizePage();
177
178 buffer.resize(written_bytes);
179
180 return buffer;
181}
182
183template <typename INT_T>
184std::pair<std::vector<uint8_t>, int> DictEncodeAll(const std::vector<INT_T>& plain) {

Callers

nothing calls this directly

Calls 9

WorstCaseOutputSizeMethod · 0.80
resizeMethod · 0.80
InitMethod · 0.45
okMethod · 0.45
sizeMethod · 0.45
NewPageMethod · 0.45
dataMethod · 0.45
PutMethod · 0.45
FinalizePageMethod · 0.45

Tested by

no test coverage detected