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]

Reply via email to