Dandandan opened a new pull request #9:
URL: https://github.com/apache/arrow-rs/pull/9


   https://github.com/apache/arrow/pull/10002
   
   This is a PoC to get some more SIMD instructions in Arrow without requiring 
the nightly compiler or producing not-portable binaries, inspired by this 
article shared by @jorgecarleitao :
   https://www.nickwilcox.com/blog/autovec2/
   
   This allows dispatching on CPU features, letting the compiler auto-vectorize 
the code without losing portability or introducing unsafe blocks. Here we use 
the multiversion crate to easily add more compiled versions with different cpu 
features.
   
   On my machine:
   ```
   min 512                 time:   [957.16 ns 958.57 ns 960.23 ns]              
       
                           change: [-24.964% -24.524% -24.093%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 2 outliers among 100 measurements (2.00%)
     1 (1.00%) high mild
     1 (1.00%) high severe
   
   max 512                 time:   [947.74 ns 949.47 ns 952.04 ns]              
       
                           change: [-23.380% -22.955% -22.562%] (p = 0.00 < 
0.05)
                           Performance has improved.
   Found 3 outliers among 100 measurements (3.00%)
     2 (2.00%) high mild
     1 (1.00%) high severe
   ```


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

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to