Cargo Features
[dependencies]
ndrustfft = { version = "0.5.0", default-features = false, features = ["avx", "sse", "neon", "parallel"] }
- default = avx, neon, parallel, sse
-
These default features are set whenever
ndrustfft
is added without
somewhere in the dependency tree.default-features = false - avx default
-
rustfft:
On x86_64, the "avx" feature enables compilation of AVX-acclerated code.
Similarly, the "sse" feature enables compilation of SSE-accelerated code.
Enabling these improves performance if the client CPU supports AVX or SSE, while disabling them reduces compile time and binary size.
If both are enabled, RustFFT will use AVX if the CPU supports it. If not, it will check for SSE4.1.
If neither instruction set is available, it will fall back to the scalar code.
On AArch64, the "neon" feature enables compilation of Neon-accelerated code.
On wasm32, the "wasm_simd" feature enables compilation of Wasm SIMD accelerated code.
For all of the above features, on every platform other than the intended platform for the feature, these features do nothing, and RustFFT will behave like they are not set. - sse default
- neon default
- parallel default
ndrustfft has 5 features without comments.