mbutrovich commented on PR #3368:
URL: 
https://github.com/apache/datafusion-comet/pull/3368#issuecomment-3840907469

    I ran the release script on main and this PR, and ran objdump to look for 
relevant instructions:
   ```
   # x86-64
   objdump -d amd64/libcomet.so | grep -cE 'vfmadd|vfmsub|vfnmadd|vfnmsub'      
        # FMA
   objdump -d amd64/libcomet.so | grep -cE '\bv[a-z]+ps\b|\bv[a-z]+pd\b'        
        # AVX2
   objdump -d amd64/libcomet.so | grep -cE 
'tzcnt|lzcnt|andn|bextr|bzhi|pdep|pext'      # BMI1/2
   
   # ARM64
   objdump -d aarch64/libcomet.so | grep -cE 
'\bldadd|\bstadd|\bswp|\bcas\b|\bldclr|\bldset'  # LSE atomics
   objdump -d aarch64/libcomet.so | grep -cE 'bl.*__aarch64_'                   
        # Outline atomic calls
   objdump -d aarch64/libcomet.so | grep -cE 'aese|aesd|aesmc|aesimc'           
        # AES
   objdump -d aarch64/libcomet.so | grep -cE '\bsdot\b|\budot\b'                
        # Dot product
   ```
   
   I also included the binary size:
   
   ### x86-64 (baseline → x86-64-v3)
   
   | Metric | Baseline (main) | PR #3368 | Change |
   |--------|-----------------|----------|--------|
   | Binary size | 94 MB | 94 MB | - |
   | FMA | 2 | 2 | - |
   | AVX2 | 994 | 666,833 | +671x |
   | BMI1/2 | 10,295 | 14,439 | +40% |
   
   ### ARM64 (baseline → neoverse-n1)
   
   | Metric | Baseline (main) | PR #3368 | Change |
   |--------|-----------------|----------|--------|
   | Binary size | 86 MB | 87 MB | +1 MB |
   | LSE atomics | 24 | 77,999 | +3250x |
   | Outline atomic calls | 79,533 | 166 | -99.8% |
   | AES | 4,911 | 4,911 | - |
   | Dot product | 0 | 26 | new |
   
   We saw a handful of specialized instructions before because some libraries 
implement architecture specific implementations and dispatch at runtime, but 
now we're getting these instructions in a lot more places.


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to