| 33 | constexpr int16_t kHasRepeatedElements = 1; |
| 34 | |
| 35 | std::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 | |
| 53 | void BM_DefinitionLevelsToBitmapRepeatedAllMissing(::benchmark::State& state) { |
| 54 | std::vector<int16_t> def_levels(/*count=*/kLevelCount, kMissingDefLevel); |
no test coverage detected