| 344 | |
| 345 | template <bool nullable, typename ParquetType> |
| 346 | static void BM_ReadColumn(::benchmark::State& state) { |
| 347 | using T = typename ParquetType::c_type; |
| 348 | |
| 349 | auto values = RandomVector<T>(/*percentage=*/state.range(1), BENCHMARK_SIZE, |
| 350 | Examples<T>::values()); |
| 351 | |
| 352 | std::shared_ptr<Table> table = |
| 353 | TableFromVector<ParquetType>(values, nullable, state.range(0)); |
| 354 | |
| 355 | auto properties = WriterProperties::Builder().disable_dictionary()->build(); |
| 356 | |
| 357 | BenchmarkReadTable(state, *table, properties, table->num_rows(), |
| 358 | BytesForItems<ParquetType>(table->num_rows())); |
| 359 | } |
| 360 | |
| 361 | // There are two parameters here that cover different data distributions. |
| 362 | // null_percentage governs distribution and therefore runs of null values. |
nothing calls this directly
no test coverage detected