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]
