FFTW performance regression on large data
- Dominant language
- Julia
- Stars
- 300
- Forks
- 61
- PR merge metrics
- No merged PRs in 30d
Description
I've checked four versions v1.1.1, v1.2.4, v1.3.2 and v1.4.5. It turns out that v1.2.4 is the first version among these that I find such regression.
```julia
Julia Version 1.7.0-rc2
Commit f23fc0d27a (2021-10-20 12:45 UTC)
Platform Info:
OS: macOS (x86_64-apple-darwin19.5.0)
CPU: Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-12.0.1 (ORCJIT, skylake)
Environment:
JULIA_NUM_THREADS = 8
```
```julia
using FFTW
using BenchmarkTools
using ProgressMeter
records = Dict{DataType, Vector{Float64}}()
type_list = (ComplexF32, ComplexF64, Float32, Float64)
size_list = (32, 64, 128, 256, 512, 1024)
p = Progress(length(type_list)*length(size_list))
for T in type_list
records[T] = Float64[]
for sz in size_list
@info "benchmark" T size=sz
X = rand(T, sz, sz)
push!(records[T], @belapsed fft($X))
ProgressMeter.next!(p)
end
end
```


full data
```julia
version,eltype,size,time (s)
1.4.5,ComplexF32,32,2.0006e-5
1.4.5,ComplexF32,64,2.6791e-5
1.4.5,ComplexF32,128,8.3809e-5
1.4.5,ComplexF32,256,0.000846211
1.4.5,ComplexF32,512,0.00369063
1.4.5,ComplexF32,1024,0.0155797
1.4.5,ComplexF64,32,2.1886e-5
1.4.5,ComplexF64,64,4.1119e-5
1.4.5,ComplexF64,128,0.000149766
1.4.5,ComplexF64,256,0.000798304
1.4.5,ComplexF64,512,0.00385186
1.4.5,ComplexF64,1024,0.0174638
1.4.5,Float64,32,2.3493e-5
1.4.5,Float64,64,5.0737e-5
1.4.5,Float64,128,0.000184953
1.4.5,Float64,256,0.00100407
1.4.5,Float64,512,0.00418498
1.4.5,Float64,1024,0.0195511
1.4.5,Float32,32,2.0973e-5
1.4.5,Float32,64,3.2219e-5
1.4.5,Float32,128,0.000107794
1.4.5,Float32,256,0.000895317
1.4.5,Float32,512,0.00401913
1.4.5,Float32,1024,0.0183689
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.