This is an automated email from the ASF dual-hosted git repository.
Rachelint pushed a commit to branch improve-compare-in-view-map
in repository https://gitbox.apache.org/repos/asf/datafusion.git
The following commit(s) were added to refs/heads/improve-compare-in-view-map by
this push:
new b170703c5c Log byte view input cache stats
b170703c5c is described below
commit b170703c5c118e6b3a1f0639617c7b40f8cd7d35
Author: kamille <[email protected]>
AuthorDate: Thu Jul 9 07:21:00 2026 +0800
Log byte view input cache stats
---
datafusion/physical-expr-common/src/binary_view_map.rs | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/datafusion/physical-expr-common/src/binary_view_map.rs
b/datafusion/physical-expr-common/src/binary_view_map.rs
index b157a1c9c1..c6b533b454 100644
--- a/datafusion/physical-expr-common/src/binary_view_map.rs
+++ b/datafusion/physical-expr-common/src/binary_view_map.rs
@@ -277,6 +277,9 @@ where
let input_has_buffers = !values.data_buffers().is_empty();
self.input_view_to_payload.clear();
+ let mut num_cache_lookups = 0usize;
+ let mut num_cache_hits = 0usize;
+ let mut num_cache_inserts = 0usize;
for i in 0..values.len() {
let view_u128 = input_views[i];
let hash = self.hashes_buffer[i];
@@ -301,12 +304,14 @@ where
let len = view_u128 as u32;
let cached_payload = if input_has_buffers && len > 12 {
+ num_cache_lookups += 1;
self.input_view_to_payload.get(&view_u128).copied()
} else {
None
};
if let Some(payload) = cached_payload {
+ num_cache_hits += 1;
observe_payload_fn(payload);
continue;
}
@@ -346,6 +351,7 @@ where
let payload = if let Some(payload) = maybe_payload {
if input_has_buffers && len > 12 {
self.input_view_to_payload.insert(view_u128, payload);
+ num_cache_inserts += 1;
}
payload
} else {
@@ -384,6 +390,16 @@ where
};
observe_payload_fn(payload);
}
+
+ dbg!((
+ "ArrowBytesViewMap::input_view_cache",
+ values.len(),
+ num_cache_lookups,
+ num_cache_hits,
+ num_cache_inserts,
+ self.input_view_to_payload.len(),
+ self.input_view_to_payload.capacity(),
+ ));
}
#[inline(always)]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]