Cargo Features

ndrustfft = { version = "0.4.4", default-features = false, features = ["avx", "sse", "neon", "parallel"] }
default = avx, neon, parallel, sse

These default features are set whenever ndrustfft is added without default-features = false somewhere in the dependency tree.

avx default

Enables avx of 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

Enables sse of rustfft

neon default

Enables neon of rustfft

parallel default

Enables rayon of ndarray

ndrustfft has 5 features without comments.