bhaskargurram-ai commented on PR #11741:
URL: https://github.com/apache/arrow-rs/pull/11741#issuecomment-6458904181

   @adriangb Thanks for running these. The two PR runs agree with each other 
(about 90 of 483 benchmarks more than 5% slower, about +2.4% overall) and the 
A/A run is flat, so the difference is real for this build. But I don't think it 
comes from more work in the changed code:
        •       Some of the slower groups don't use the code this PR changes. 
float64_dictionary_1pct_cardinality and float_with_nans go through the Double 
branch of write_leaf, which is unchanged.
        •       I counted instructions with callgrind for 
list_int32_ree/default and float64_dictionary_1pct_cardinality/default. 
write_leaf runs the same number of instructions with and without the PR: 
1,238.5M vs 1,238.6M per write, and 100.53M for both.
        •       Comparing the two benchmark binaries, the REE expansion loop 
has the same instructions but starts at a different offset in its 64-byte 
block. About 80 parquet functions compile slightly differently even though only 
write_leaf changed.
   So my reading is that code placement on the runner changed, not the amount 
of work. My own machine is too noisy to confirm the timings directly. I'm happy 
to merge main and have it re-run to see if the pattern moves, or to try 
something else if you'd prefer.


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