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]