Skip to content

Commit 7d3f020

Browse files
committed
remove repetition in read benchmark
1 parent 1043301 commit 7d3f020

File tree

1 file changed

+13
-20
lines changed

1 file changed

+13
-20
lines changed

arrow-ipc/benches/ipc_reader.rs

+13-20
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ fn criterion_benchmark(c: &mut Criterion) {
3232
let mut group = c.benchmark_group("arrow_ipc_reader");
3333

3434
group.bench_function("StreamReader/read_10", |b| {
35-
let buffer = ipc_stream();
35+
let buffer = ipc_stream(IpcWriteOptions::default());
3636
b.iter(move || {
3737
let projection = None;
3838
let mut reader = StreamReader::try_new(buffer.as_slice(), projection).unwrap();
@@ -44,7 +44,7 @@ fn criterion_benchmark(c: &mut Criterion) {
4444
});
4545

4646
group.bench_function("StreamReader/no_validation/read_10", |b| {
47-
let buffer = ipc_stream();
47+
let buffer = ipc_stream(IpcWriteOptions::default());
4848
b.iter(move || {
4949
let projection = None;
5050
let mut reader = StreamReader::try_new(buffer.as_slice(), projection).unwrap();
@@ -60,7 +60,11 @@ fn criterion_benchmark(c: &mut Criterion) {
6060
});
6161

6262
group.bench_function("StreamReader/read_10/zstd", |b| {
63-
let buffer = ipc_stream_zstd();
63+
let buffer = ipc_stream(
64+
IpcWriteOptions::default()
65+
.try_with_compression(Some(CompressionType::ZSTD))
66+
.unwrap(),
67+
);
6468
b.iter(move || {
6569
let projection = None;
6670
let mut reader = StreamReader::try_new(buffer.as_slice(), projection).unwrap();
@@ -72,7 +76,11 @@ fn criterion_benchmark(c: &mut Criterion) {
7276
});
7377

7478
group.bench_function("StreamReader/no_validation/read_10/zstd", |b| {
75-
let buffer = ipc_stream_zstd();
79+
let buffer = ipc_stream(
80+
IpcWriteOptions::default()
81+
.try_with_compression(Some(CompressionType::ZSTD))
82+
.unwrap(),
83+
);
7684
b.iter(move || {
7785
let projection = None;
7886
let mut reader = StreamReader::try_new(buffer.as_slice(), projection).unwrap();
@@ -164,24 +172,9 @@ fn criterion_benchmark(c: &mut Criterion) {
164172
}
165173

166174
/// Return an IPC stream with 10 record batches
167-
fn ipc_stream() -> Vec<u8> {
175+
fn ipc_stream(options: IpcWriteOptions) -> Vec<u8> {
168176
let batch = create_batch(8192, true);
169177
let mut buffer = Vec::with_capacity(2 * 1024 * 1024);
170-
let mut writer = StreamWriter::try_new(&mut buffer, batch.schema().as_ref()).unwrap();
171-
for _ in 0..10 {
172-
writer.write(&batch).unwrap();
173-
}
174-
writer.finish().unwrap();
175-
buffer
176-
}
177-
178-
/// Return an IPC stream with ZSTD compression with 10 record batches
179-
fn ipc_stream_zstd() -> Vec<u8> {
180-
let batch = create_batch(8192, true);
181-
let mut buffer = Vec::with_capacity(2 * 1024 * 1024);
182-
let options = IpcWriteOptions::default()
183-
.try_with_compression(Some(CompressionType::ZSTD))
184-
.unwrap();
185178
let mut writer =
186179
StreamWriter::try_new_with_options(&mut buffer, batch.schema().as_ref(), options).unwrap();
187180
for _ in 0..10 {

0 commit comments

Comments
 (0)