MCPcopy Create free account
hub / github.com/apache/arrow / RunDefinitionLevelsToBitmap

Function RunDefinitionLevelsToBitmap

cpp/src/parquet/level_conversion_benchmark.cc:35–51  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

33constexpr int16_t kHasRepeatedElements = 1;
34
35std::vector<uint8_t> RunDefinitionLevelsToBitmap(const std::vector<int16_t>& def_levels,
36 ::benchmark::State* state) {
37 std::vector<uint8_t> bitmap(/*count=*/def_levels.size(), 0);
38 parquet::internal::LevelInfo info;
39 info.def_level = kHasRepeatedElements;
40 info.repeated_ancestor_def_level = kPresentDefLevel;
41 info.rep_level = 1;
42 parquet::internal::ValidityBitmapInputOutput validity_io;
43 validity_io.values_read_upper_bound = def_levels.size();
44 validity_io.valid_bits = bitmap.data();
45 for (auto _ : *state) {
46 parquet::internal::DefLevelsToBitmap(def_levels.data(), def_levels.size(), info,
47 &validity_io);
48 }
49 state->SetBytesProcessed(int64_t(state->iterations()) * def_levels.size());
50 return bitmap;
51}
52
53void BM_DefinitionLevelsToBitmapRepeatedAllMissing(::benchmark::State& state) {
54 std::vector<int16_t> def_levels(/*count=*/kLevelCount, kMissingDefLevel);

Calls 3

DefLevelsToBitmapFunction · 0.85
sizeMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected