You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Remove simd and avx512 bitwise kernels in favor of autovectorization (#1830)
* Remove simd and avx512 bitwise kernels since they are actually slightly slower than the autovectorized version
* Add notes about target-cpu to README
Copy file name to clipboardExpand all lines: arrow/README.md
+14Lines changed: 14 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -100,3 +100,17 @@ cargo run --example read_csv
100
100
```
101
101
102
102
[arrow]: https://arrow.apache.org/
103
+
104
+
105
+
## Performance
106
+
107
+
Most of the compute kernels benefit a lot from being optimized for a specific CPU target.
108
+
This is especially so on x86-64 since without specifying a target the compiler can only assume support for SSE2 vector instructions.
109
+
One of the following values as `-Ctarget-cpu=value` in `RUSTFLAGS` can therefore improve performance significantly:
110
+
111
+
-`native`: Target the exact features of the cpu that the build is running on.
112
+
This should give the best performance when building and running locally, but should be used carefully for example when building in a CI pipeline or when shipping pre-compiled software.
113
+
-`x86-64-v3`: Includes AVX2 support and is close to the intel `haswell` architecture released in 2013 and should be supported by any recent Intel or Amd cpu.
114
+
-`x86-64-v4`: Includes AVX512 support available on intel `skylake` server and `icelake`/`tigerlake`/`rocketlake` laptop and desktop processors.
115
+
116
+
These flags should be used in addition to the `simd` feature, since they will also affect the code generated by the simd library.
0 commit comments