Rich-T-kid commented on code in PR #11174:
URL: https://github.com/apache/arrow-rs/pull/11174#discussion_r4077983805
##########
arrow/benches/coalesce_kernels.rs:
##########
@@ -611,9 +611,99 @@ fn add_all_take_benchmarks(c: &mut Criterion) {
}
}
-criterion_group!(benches, add_all_filter_benchmarks, add_all_take_benchmarks);
+criterion_group!(
+ benches,
+ add_all_filter_benchmarks,
+ add_all_take_benchmarks,
+ add_all_interleave_benchmarks
+);
criterion_main!(benches);
+fn add_all_interleave_benchmarks(c: &mut Criterion) {
+ let batch_size = 8192;
+ let num_source_batches = 4;
+
+ let primitive_schema = SchemaRef::new(Schema::new(vec![
+ Field::new("int32_val", DataType::Int32, true),
+ Field::new("float_val", DataType::Float64, true),
+ Field::new(
+ "timestamp_val",
+ DataType::Timestamp(TimeUnit::Nanosecond, Some("UTC".into())),
+ true,
+ ),
+ ]));
+
+ let single_utf8view_schema = SchemaRef::new(Schema::new(vec![Field::new(
+ "value",
+ DataType::Utf8View,
+ true,
+ )]));
+
+ let mixed_fsb_schema = SchemaRef::new(Schema::new(vec![
+ Field::new("fsb16_val", DataType::FixedSizeBinary(16), true),
+ Field::new("fsb32_val", DataType::FixedSizeBinary(32), true),
+ ]));
+
+ // Binary, boolean, and dictionary all go through the generic path; group
+ // them in one schema so a single benchmark covers the whole family.
+ let mixed_generic_schema = SchemaRef::new(Schema::new(vec![
+ Field::new("binary_val", DataType::Binary, true),
+ Field::new("bool_val", DataType::Boolean, true),
+ Field::new(
+ "dict_val",
+ DataType::Dictionary(Box::new(DataType::Int32),
Box::new(DataType::Utf8)),
+ true,
+ ),
+ ]));
+
+ for null_density in [0.0, 0.1] {
+ for selectivity in [0.001, 0.01, 0.1, 0.8] {
+ for scenario in [
Review Comment:
yea seems `push_batch_with_indices` already does this `take_streams`. will
refactor
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]