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

Function BenchmarkBufferOutputStream

cpp/src/arrow/io/memory_benchmark.cc:317–332  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

315 ->UseRealTime();
316
317static void BenchmarkBufferOutputStream(
318 const std::string& datum,
319 benchmark::State& state) { // NOLINT non-const reference
320 const void* raw_data = datum.data();
321 int64_t raw_nbytes = static_cast<int64_t>(datum.size());
322 // Write approx. 32 MB to each BufferOutputStream
323 int64_t num_raw_values = (1 << 25) / raw_nbytes;
324 for (auto _ : state) {
325 auto stream = *io::BufferOutputStream::Create(1024);
326 for (int64_t i = 0; i < num_raw_values; ++i) {
327 ABORT_NOT_OK(stream->Write(raw_data, raw_nbytes));
328 }
329 ABORT_NOT_OK(stream->Finish());
330 }
331 state.SetBytesProcessed(int64_t(state.iterations()) * num_raw_values * raw_nbytes);
332}
333
334static void BufferOutputStreamTinyWrites(
335 benchmark::State& state) { // NOLINT non-const reference

Calls 4

dataMethod · 0.45
sizeMethod · 0.45
WriteMethod · 0.45
FinishMethod · 0.45

Tested by

no test coverage detected