diff --git a/arrow-json/benches/serde.rs b/arrow-json/benches/serde.rs index 23f005cc90ab..282f2e7c76d0 100644 --- a/arrow-json/benches/serde.rs +++ b/arrow-json/benches/serde.rs @@ -22,12 +22,14 @@ use rand::{Rng, rng}; use serde::Serialize; use std::sync::Arc; +const ROWS: usize = 1 << 18; + #[allow(deprecated)] fn do_bench(c: &mut Criterion, name: &str, rows: &[R], schema: &Schema) { let schema = Arc::new(schema.clone()); c.bench_function(name, |b| { b.iter(|| { - let builder = ReaderBuilder::new(schema.clone()).with_batch_size(64); + let builder = ReaderBuilder::new(schema.clone()).with_batch_size(8192); let mut decoder = builder.build_decoder().unwrap(); decoder.serialize(rows) }) @@ -37,26 +39,26 @@ fn do_bench(c: &mut Criterion, name: &str, rows: &[R], schema: &Sc fn criterion_benchmark(c: &mut Criterion) { let mut rng = rng(); let schema = Schema::new(vec![Field::new("i32", DataType::Int32, false)]); - let v: Vec = (0..2048).map(|_| rng.random_range(0..10000)).collect(); + let v: Vec = (0..ROWS).map(|_| rng.random_range(0..10000)).collect(); do_bench(c, "small_i32", &v, &schema); - let v: Vec = (0..2048).map(|_| rng.random()).collect(); + let v: Vec = (0..ROWS).map(|_| rng.random()).collect(); do_bench(c, "large_i32", &v, &schema); let schema = Schema::new(vec![Field::new("i64", DataType::Int64, false)]); - let v: Vec = (0..2048).map(|_| rng.random_range(0..10000)).collect(); + let v: Vec = (0..ROWS).map(|_| rng.random_range(0..10000)).collect(); do_bench(c, "small_i64", &v, &schema); - let v: Vec = (0..2048) + let v: Vec = (0..ROWS) .map(|_| rng.random_range(0..i32::MAX as _)) .collect(); do_bench(c, "medium_i64", &v, &schema); - let v: Vec = (0..2048).map(|_| rng.random()).collect(); + let v: Vec = (0..ROWS).map(|_| rng.random()).collect(); do_bench(c, "large_i64", &v, &schema); let schema = Schema::new(vec![Field::new("f32", DataType::Float32, false)]); - let v: Vec = (0..2048).map(|_| rng.random_range(0.0..10000.)).collect(); + let v: Vec = (0..ROWS).map(|_| rng.random_range(0.0..10000.)).collect(); do_bench(c, "small_f32", &v, &schema); - let v: Vec = (0..2048).map(|_| rng.random_range(0.0..f32::MAX)).collect(); + let v: Vec = (0..ROWS).map(|_| rng.random_range(0.0..f32::MAX)).collect(); do_bench(c, "large_f32", &v, &schema); }