metesynnada commented on issue #7113:
URL: 
https://github.com/apache/arrow-datafusion/issues/7113#issuecomment-1658340249

   I am checking the performance of 
   ```rust
   for (row, hash_value) in hash_values.iter().enumerate().rev() {
           // Get the hash and find it in the build index
   
           // For every item on the build and probe we check if it matches
           // This possibly contains rows with hash collisions,
           // So we have to check here whether rows are equal or not
           if let Some((_, index)) = build_hashmap
               .map
               .get(*hash_value, |(hash, _)| *hash_value == *hash)
           {
               let mut i = *index - 1;
               loop {
                   build_indices.append(i);
                   probe_indices.append(row as u32);
                   // Follow the chain to get the next index value
                   let next = build_hashmap.next[i as usize];
                   if next == 0 {
                       // end of list
                       break;
                   }
                   i = next - 1;
               }
           }
       }
       build_indices.as_slice_mut().reverse();
       probe_indices.as_slice_mut().reverse();
   ```


-- 
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]

Reply via email to