westonpace commented on issue #36685: URL: https://github.com/apache/arrow/issues/36685#issuecomment-1636352413
I think the ticket with the most thorough investigation of these issues is https://github.com/apache/arrow/issues/31132 I will try and remember / summarize the discussion at the time. The crux of the matter is our parquet simd dispatch arguably violates the ODR. In general, we get away with this. Multiple copies of the symbol are linked in and the appropriate one is chosen via tag dispatch. In homebrew, the MinSizeRel build type is used. For whatever reason, we don't get away with our ODR violation in this case. The compiler / linker collapse all the copies with the same name into one implementation and that implementation has AVX2 instructions. At the time, we discussed several more thorough solutions but none of them were taken due to a fear of performance regression and, probably, a lack of energy at the time for solving this particular problem. We ended with #14342 which overrides MinSizeRel for the files that have multiple symbols. This seemed to work ok. Note that #474b1a5eee0c693e657a379e5d3826e57426ffaa seems to have modified the same area that #14342 did. It's possible we ended up reverting our change accidentally. -- 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]
