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]

Reply via email to