Closed
Description
I'm not sure what has been changed, but it seems eigen
has a performance regression, also didn't find other issue mentioning this
on 1.7.2
julia> versioninfo()
Julia Version 1.7.2
Commit bf53498635 (2022-02-06 15:21 UTC)
Platform Info:
OS: Linux (x86_64-pc-linux-gnu)
CPU: AMD Ryzen 9 3900X 12-Core Processor
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-12.0.1 (ORCJIT, znver2)
julia> using LinearAlgebra, BenchmarkTools
julia> M = rand(1000, 1000);
julia> @benchmark eigen($M)
BenchmarkTools.Trial: 7 samples with 1 evaluation.
Range (min … max): 767.383 ms … 783.423 ms ┊ GC (min … max): 0.00% … 0.04%
Time (median): 774.151 ms ┊ GC (median): 0.04%
Time (mean ± σ): 774.743 ms ± 5.491 ms ┊ GC (mean ± σ): 0.02% ± 0.02%
█ █ █ █ █ █ █
█▁▁▁▁▁▁▁▁▁▁▁█▁▁▁▁█▁▁▁▁▁▁▁█▁▁▁▁█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█▁▁▁▁▁▁▁▁▁▁▁▁█ ▁
767 ms Histogram: frequency by time 783 ms <
Memory estimate: 31.58 MiB, allocs estimate: 21.
on 1.8-beta1
julia> versioninfo()
Julia Version 1.8.0-beta1
Commit 7b711ce699 (2022-02-23 15:09 UTC)
Platform Info:
OS: Linux (x86_64-pc-linux-gnu)
CPU: 24 × AMD Ryzen 9 3900X 12-Core Processor
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-13.0.1 (ORCJIT, znver2)
Threads: 1 on 24 virtual cores
julia> using LinearAlgebra, BenchmarkTools
julia> M = rand(1000, 1000);
julia> @benchmark eigen($M)
BenchmarkTools.Trial: 5 samples with 1 evaluation.
Range (min … max): 1.067 s … 1.109 s ┊ GC (min … max): 0.04% … 0.04%
Time (median): 1.095 s ┊ GC (median): 0.04%
Time (mean ± σ): 1.089 s ± 17.117 ms ┊ GC (mean ± σ): 0.02% ± 0.02%
█ █ █ █ █
█▁▁▁▁▁▁▁▁▁█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█▁▁▁█▁▁▁▁▁▁▁▁▁▁▁▁▁█ ▁
1.07 s Histogram: frequency by time 1.11 s <
Memory estimate: 31.58 MiB, allocs estimate: 21.
on master branch
julia> versioninfo()
Julia Version 1.9.0-DEV.118
Commit 15b5df4633 (2022-03-02 18:30 UTC)
Platform Info:
OS: Linux (x86_64-linux-gnu)
CPU: 24 × AMD Ryzen 9 3900X 12-Core Processor
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-13.0.1 (ORCJIT, znver2)
Threads: 1 on 24 virtual cores
julia> using LinearAlgebra, BenchmarkTools
julia> M = rand(1000, 1000);
julia> @benchmark eigen($M)
BenchmarkTools.Trial: 5 samples with 1 evaluation.
Range (min … max): 1.126 s … 1.164 s ┊ GC (min … max): 0.00% … 0.00%
Time (median): 1.134 s ┊ GC (median): 0.04%
Time (mean ± σ): 1.139 s ± 15.033 ms ┊ GC (mean ± σ): 0.03% ± 0.02%
█ █ █ █ █
█▁▁▁▁▁█▁▁▁▁▁█▁▁▁▁▁▁▁▁▁▁█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█ ▁
1.13 s Histogram: frequency by time 1.16 s <
Memory estimate: 31.58 MiB, allocs estimate: 21.