zanmato1984 opened a new issue, #45591:
URL: https://github.com/apache/arrow/issues/45591

   ### Describe the enhancement requested
   
   The current hash join benchmark can be refined in the following aspects:
   1. It is using openmp for multi-threading, and this is the solely place that 
depends on openmp library. Based on my experience of recent benchmarking, 
openmp can cause tricky inaccurate benchmarking numbers (some obvious 
improvement shows worse number in one or two out of tens of cases, I still 
don't know why), and make diagnosis hard (I was using flame graph and openmp 
makes it hard to interpret, see the following two pictures).
   Flame graph with openmp:
   
![Image](https://github.com/user-attachments/assets/8a0b7d32-d93c-4fcf-9774-b3725c20d28f)
   Flame graph without openmp:
   
![Image](https://github.com/user-attachments/assets/cc8bf9ff-3486-40ff-bc5f-2d6eba899841)
   I'm not entirely sure why openmp was introduced at the first place (maybe 
@save-buffer can elaborate a bit?), but I think at this point we can trivially 
replace it with arrow-native multi-threading primitives. (Besides a bunch of 
simplification of cmake could be done).
   
   2. In certain benchmarks, we are more interested in the number of rows from 
the build side. Currently all benchmarks are based on the number of rows from 
the probe side.
   
   ### Component(s)
   
   C++


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