-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Open
Labels
performanceMust go fasterMust go fasterregressionRegression in behavior compared to a previous versionRegression in behavior compared to a previous version
Description
The code below runs the file at https://github.com/Ferrite-FEM/Ferrite.jl/blob/kc/landau_opt/docs/src/literate-gallery/landau.jl. It has some options to run things threaded but that is not relevant here. There is also a multithreading regression, but that is tracked in #60241
If we run this code on 1.10:
git clone https://github.com/Ferrite-FEM/Ferrite.jl/
cd Ferrite.jl
git checkout kc/landau_opt # 546587a5e3ac40c8158a0cca#### 1.10 ####
julia +1.10 --project=docs -e 'using Pkg; Pkg.update()'
julia +1.10 --project=docs docs/src/literate-gallery/landau.jl
# F: 0.016800 seconds
# ∇F!: 0.036300 seconds
# ∇²F!: 0.776329 seconds (90.00 k allocations: 46.692 MiB)
# 6.669979 seconds (1.56 M allocations: 1.325 GiB, 2.26% gc time, 6.67% compilation time)Now, if we run this on 1.11:
#### 1.11 ####
julia +1.11 --project=docs -e 'using Pkg; Pkg.update()'
julia +1.11 --project=docs --threads=8 docs/src/literate-gallery/landau.jl
# F: 0.014718 seconds
# ∇F!: 0.079363 seconds
# ∇²F!: 1.237756 seconds (180.00 k allocations: 49.439 MiB, 0.05% gc time)
# 9.424253 seconds (3.51 M allocations: 1.392 GiB, 1.06% gc time, 5.82% compilation time)We can see the following:
- The code allocates around 2x more
- Runtime is about 50% slower.
I'll see if I can bisect something
Metadata
Metadata
Assignees
Labels
performanceMust go fasterMust go fasterregressionRegression in behavior compared to a previous versionRegression in behavior compared to a previous version