| 1448 | } |
| 1449 | |
| 1450 | std::unique_ptr<ByteArrayDecoder> InitializeDecoder() override { |
| 1451 | auto decoder = MakeTypedDecoder<ByteArrayType>(Encoding::PLAIN, descr_.get()); |
| 1452 | decoder->SetData(num_dict_entries_, dict_buffer_->data(), |
| 1453 | static_cast<int>(dict_buffer_->size())); |
| 1454 | auto dict_decoder = MakeDictDecoder<ByteArrayType>(descr_.get()); |
| 1455 | dict_decoder->SetDict(decoder.get()); |
| 1456 | dict_decoder->SetData(num_values_, buffer_->data(), |
| 1457 | static_cast<int>(buffer_->size())); |
| 1458 | return std::unique_ptr<ByteArrayDecoder>( |
| 1459 | dynamic_cast<ByteArrayDecoder*>(dict_decoder.release())); |
| 1460 | } |
| 1461 | |
| 1462 | void TearDown(const ::benchmark::State& state) override { |
| 1463 | BenchmarkDecodeArrowByteArray::TearDown(state); |