Skip to content

Commit 3f091d9

Browse files
committed
bitmap_instead_smaller_datatypes
1 parent f7c487a commit 3f091d9

File tree

3 files changed

+22
-22
lines changed

3 files changed

+22
-22
lines changed

datafusion/functions-aggregate-common/src/aggregate/count_distinct/native.rs

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -230,9 +230,9 @@ impl Accumulator for BoolArray256DistinctCountAccumulator {
230230
.filter_map(|(idx, &seen)| if seen { Some(idx as u8) } else { None })
231231
.collect();
232232

233-
let arr = Arc::new(PrimitiveArray::<arrow::datatypes::UInt8Type>::from_iter_values(
234-
values,
235-
));
233+
let arr = Arc::new(
234+
PrimitiveArray::<arrow::datatypes::UInt8Type>::from_iter_values(values),
235+
);
236236
Ok(vec![
237237
SingleRowListArrayBuilder::new(arr).build_list_scalar(),
238238
])
@@ -308,18 +308,16 @@ impl Accumulator for BoolArray256DistinctCountAccumulatorI8 {
308308
.seen
309309
.iter()
310310
.enumerate()
311-
.filter_map(|(idx, &seen)| {
312-
if seen {
313-
Some(idx as u8 as i8)
314-
} else {
315-
None
316-
}
317-
})
311+
.filter_map(
312+
|(idx, &seen)| {
313+
if seen { Some(idx as u8 as i8) } else { None }
314+
},
315+
)
318316
.collect();
319317

320-
let arr = Arc::new(PrimitiveArray::<arrow::datatypes::Int8Type>::from_iter_values(
321-
values,
322-
));
318+
let arr = Arc::new(
319+
PrimitiveArray::<arrow::datatypes::Int8Type>::from_iter_values(values),
320+
);
323321
Ok(vec![
324322
SingleRowListArrayBuilder::new(arr).build_list_scalar(),
325323
])
@@ -409,9 +407,9 @@ impl Accumulator for Bitmap65536DistinctCountAccumulator {
409407
}
410408
}
411409

412-
let arr = Arc::new(PrimitiveArray::<arrow::datatypes::UInt16Type>::from_iter_values(
413-
values,
414-
));
410+
let arr = Arc::new(
411+
PrimitiveArray::<arrow::datatypes::UInt16Type>::from_iter_values(values),
412+
);
415413
Ok(vec![
416414
SingleRowListArrayBuilder::new(arr).build_list_scalar(),
417415
])
@@ -502,9 +500,9 @@ impl Accumulator for Bitmap65536DistinctCountAccumulatorI16 {
502500
}
503501
}
504502

505-
let arr = Arc::new(PrimitiveArray::<arrow::datatypes::Int16Type>::from_iter_values(
506-
values,
507-
));
503+
let arr = Arc::new(
504+
PrimitiveArray::<arrow::datatypes::Int16Type>::from_iter_values(values),
505+
);
508506
Ok(vec![
509507
SingleRowListArrayBuilder::new(arr).build_list_scalar(),
510508
])

datafusion/functions-aggregate/benches/count_distinct.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717

1818
use std::sync::Arc;
1919

20-
use arrow::array::{ArrayRef, Int16Array, Int64Array, Int8Array, UInt16Array, UInt8Array};
20+
use arrow::array::{
21+
ArrayRef, Int8Array, Int16Array, Int64Array, UInt8Array, UInt16Array,
22+
};
2123
use arrow::datatypes::{DataType, Field, Schema};
2224
use criterion::{Criterion, criterion_group, criterion_main};
2325
use datafusion_expr::function::AccumulatorArgs;

datafusion/functions-aggregate/src/count.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ use arrow::{
2121
compute,
2222
datatypes::{
2323
DataType, Date32Type, Date64Type, Decimal128Type, Decimal256Type, Field,
24-
FieldRef, Float16Type, Float32Type, Float64Type, Int32Type,
25-
Int64Type, Time32MillisecondType, Time32SecondType, Time64MicrosecondType,
24+
FieldRef, Float16Type, Float32Type, Float64Type, Int32Type, Int64Type,
25+
Time32MillisecondType, Time32SecondType, Time64MicrosecondType,
2626
Time64NanosecondType, TimeUnit, TimestampMicrosecondType,
2727
TimestampMillisecondType, TimestampNanosecondType, TimestampSecondType,
2828
UInt32Type, UInt64Type,

0 commit comments

Comments
 (0)