jhorstmann commented on issue #1492:
URL: https://github.com/apache/arrow-rs/issues/1492#issuecomment-1079971395


   Both currently require a nightly compiler and it will probably take a while 
until portable_simd gets stabilized. Longer term we should switch to 
portable_simd as it will become the standard and there won't be any updates to 
packed_simd. As far as I know packed_simd currently has no major issues that 
would force us to switch.
   
   Portable_simd has first class support for bitmasks, which fits the arrow 
data model for boolean and validity very well and could lead to some code 
simplification. On AVX512 capable CPUs that leads to slightly better code than 
[what we currently do 
manually](https://github.com/apache/arrow-rs/blob/c5442cf2fd8f046e6ad75d2d5c7efb2899dd654d/arrow/src/datatypes/numeric.rs#L144).
 On non-AVX512 machines the [code is currently 
worse](https://github.com/rust-lang/portable-simd/issues/264). For intel 
compatible targets that has [already been fixed in LLVM 
trunk](https://github.com/llvm/llvm-project/issues/53760), I think other 
architectures like arm neon or wasm are still affected. I don't actually know 
how good our current code simd works for arm or neon, but we should probably at 
least await the next llvm update in rust before we switch.


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