fanruan-tuco commented on PR #50749:
URL: https://github.com/apache/arrow/pull/50749#issuecomment-5191133338
I am not a CPU microarchitecture expert, so the following is only a
hypothesis. I also used AI assistance while investigating it.
The possible issue is that forcing `Status::~Status()` to be always
inlined changes the code layout of many callers. In the affected sparse-matrix
conversion path, the hot loop appears to move by approximately 16 bytes while
the loop
instructions remain almost identical. On Skylake, this could interact with
instruction-cache/uop-cache behavior and 32-byte branch alignment, causing a
large frontend penalty. This would also explain why I see a significant
regression
on the Skylake-based m5 instance but no meaningful regression on my Raptor
Lake system.
This should be validated with a Skylake A/B run using frontend performance
counters and/or branch-alignment options. I would not consider this explanation
conclusive without such a measurement.
I would like to provide more info about my local run if asks
--
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]