I am wondering if it is usual for it to take ~30 seconds to load the OrdinaryDiffEq package. I am curious why there is so much recompilation when loading the package. Is there something I could do to reduce the load time?
I am on Julia 1.8.5 and OrdinaryDiffEq v6.43.1
_
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.8.5 (2023-01-08)
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|__/ |
julia> @time using OrdinaryDiffEq
35.232642 seconds (39.82 M allocations: 2.937 GiB, 4.53% gc time, 5.17% compilation time: 52% of which was recompilation)
(@v1.8) pkg> status
Status `C:\Users\prana\.julia\environments\v1.8\Project.toml`
[6e4b80f9] BenchmarkTools v1.3.2
[f6369f11] ForwardDiff v0.10.34
[a98d9a8b] Interpolations v0.14.7
[89398ba2] LocalRegistry v0.5.3
[1dea7af3] OrdinaryDiffEq v6.43.1
[e4faabce] PProf v2.2.2
[91a5bcdd] Plots v1.38.4
[3cdcf5f2] RecipesBase v1.3.3
[189a3867] Reexport v1.2.2
[295af30f] Revise v3.5.1
[90137ffa] StaticArrays v1.5.13
[3a884ed6] UnPack v1.0.2
(@v1.8) pkg>
A lot of those number are a lot higher than I would expect (e.g. 10 seconds for ExponentialUtils), What cpu do you have? Also, is this loading from a local disk or a network drive?
this is what I get when I do @time_imports using OrdinaryDiffEq
@time_imports using OrdinaryDiffEq
7.1 ms DocStringExtensions 67.08% compilation time
0.3 ms Reexport
0.6 ms Requires
431.9 ms Preferences
0.3 ms SnoopPrecompile
5.5 ms ArrayInterfaceCore
5.8 ms StaticArraysCore
1069.5 ms StaticArrays
17.8 ms FunctionWrappers
0.3 ms MuladdMacro
13.3 ms OrderedCollections
0.3 ms UnPack
0.6 ms Parameters
0.2 ms IfElse
71.1 ms Static
1.5 ms Compat
20.0 ms ArrayInterface
3.1 ms ManualMemory
107.7 ms ThreadingUtilities 79.04% compilation time
0.6 ms Adapt
129.1 ms OffsetArrays
1.6 ms ArrayInterfaceOffsetArrays
0.7 ms ArrayInterfaceStaticArraysCore
2.5 ms ArrayInterfaceStaticArrays
0.4 ms SIMDTypes
9.1 ms LayoutPointers
9.3 ms CloseOpenIntervals
533.2 ms StrideArraysCore 1.30% compilation time
0.3 ms BitTwiddlingConvenienceFunctions
3.4 ms CpuId
451.6 ms CPUSummary 94.07% compilation time
40.0 ms PolyesterWeave 81.13% compilation time
1.3 ms Polyester
0.9 ms FastBroadcast
114.1 ms ChainRulesCore
82.0 ms RecipesBase
1.4 ms SymbolicIndexingInterface
61.9 ms MacroTools
0.4 ms ZygoteRules
303.2 ms FillArrays
0.3 ms DataValueInterfaces
2.2 ms DataAPI
0.3 ms IteratorInterfaceExtensions
0.3 ms TableTraits
29.5 ms Tables
5.1 ms GPUArraysCore
102.9 ms RecursiveArrayTools 23.01% compilation time (76% recompilation)
2.1 ms ConstructionBase
76.6 ms Setfield
12.4 ms IrrationalConstants
1.3 ms DiffRules
6.2 ms DiffResults
0.5 ms OpenLibm_jll
0.7 ms NaNMath
1.2 ms ChangesOfVariables
2.6 ms InverseFunctions
2.8 ms LogExpFunctions
0.8 ms JLLWrappers
5.5 ms CompilerSupportLibraries_jll
712.8 ms OpenSpecFun_jll 99.07% compilation time (99% recompilation)
32.1 ms SpecialFunctions
0.5 ms CommonSubexpressions
280.4 ms ForwardDiff
254.8 ms PreallocationTools 5.17% compilation time (100% recompilation)
1.5 ms FunctionWrappersWrappers
0.3 ms CommonSolve
0.6 ms ExprTools
1.9 ms RuntimeGeneratedFunctions
0.6 ms EnumX
1.0 ms Tricks
40.3 ms Lazy
444.9 ms SciMLOperators
446.6 ms SciMLBase
164.6 ms DataStructures
0.9 ms SortingAlgorithms
18.6 ms Missings
0.8 ms StatsAPI
52.9 ms StatsBase
47.0 ms PDMats
3.2 ms Rmath_jll
300.7 ms Rmath 94.51% compilation time
4.2 ms Calculus
117.2 ms DualNumbers
1.4 ms HypergeometricFunctions
13.1 ms StatsFuns
5.0 ms QuadGK
3.3 ms DensityInterface
474.9 ms Distributions
492.3 ms DiffEqBase 16.75% compilation time
0.5 ms FastClosures
542.1 ms HostCPUFeatures 34.25% compilation time (100% recompilation)
1415.7 ms VectorizationBase
7.1 ms SLEEFPirates
1035.1 ms LoopVectorization
265.4 ms TriangularSolve 7.34% compilation time
807.0 ms RecursiveFactorization
42.4 ms IterativeSolvers
52.2 ms KLU
9.7 ms Sparspak
20.9 ms FastLapackInterface
43.4 ms Krylov
447.4 ms KrylovKit 5.61% compilation time (100% recompilation)
1298.2 ms LinearSolve 7.63% compilation time (100% recompilation)
28.6 ms FiniteDiff 49.59% compilation time (100% recompilation)
869.0 ms SimpleNonlinearSolve
0.4 ms ArrayInterfaceGPUArrays
64.5 ms GenericSchur
0.4 ms libblastrampoline_jll
10033.9 ms ExponentialUtilities
4.3 ms SimpleTraits
13.6 ms ArnoldiMethod
1.2 ms Inflate
125.3 ms Graphs
1.8 ms VertexSafeGraphs
382.7 ms SparseDiffTools 3.88% compilation time
988.7 ms NonlinearSolve
16.1 ms Distances
380.8 ms NLSolversBase
366.6 ms LineSearches
447.3 ms NLsolve
464.3 ms SciMLNLSolve
4650.2 ms OrdinaryDiffEq
This is what I got when I used @time_imports with ExponentialUtilities.
julia> @time_imports using ExponentialUtilities
1019.3 ms Preferences
0.4 ms SnoopPrecompile
9.3 ms ArrayInterfaceCore
1.0 ms Adapt
9.9 ms GPUArraysCore
0.4 ms ArrayInterfaceGPUArrays
113.3 ms GenericSchur
0.5 ms libblastrampoline_jll
8354.7 ms ExponentialUtilities
Ok, I uninstalled 1.8.5, deleted all my artifacts, reinstalled 1.8.5, and instantiated the packages. Now, I am getting times as follows
julia> @time using OrdinaryDiffEq
20.572666 seconds (39.84 M allocations: 2.938 GiB, 5.79% gc time, 5.33% compilation time: 56% of which was recompilation)
julia> @time_imports using OrdinaryDiffEq
4.5 ms DocStringExtensions 66.45% compilation time
0.2 ms Reexport
0.3 ms Requires
26.4 ms Preferences
0.3 ms SnoopPrecompile
4.0 ms ArrayInterfaceCore
3.5 ms StaticArraysCore
773.8 ms StaticArrays
14.8 ms FunctionWrappers
0.3 ms MuladdMacro
8.4 ms OrderedCollections
0.3 ms UnPack
0.5 ms Parameters
0.2 ms IfElse
52.4 ms Static
1.4 ms Compat
11.3 ms ArrayInterface
2.2 ms ManualMemory
75.0 ms ThreadingUtilities 78.68% compilation time
0.5 ms Adapt
90.5 ms OffsetArrays
0.9 ms ArrayInterfaceOffsetArrays
0.4 ms ArrayInterfaceStaticArraysCore
2.0 ms ArrayInterfaceStaticArrays
0.3 ms SIMDTypes
10.5 ms LayoutPointers
10.8 ms CloseOpenIntervals
328.3 ms StrideArraysCore 1.73% compilation time
0.2 ms BitTwiddlingConvenienceFunctions
1.6 ms CpuId
302.4 ms CPUSummary 93.89% compilation time
23.9 ms PolyesterWeave 74.82% compilation time
1.1 ms Polyester
0.6 ms FastBroadcast
77.4 ms ChainRulesCore
56.3 ms RecipesBase
1.1 ms SymbolicIndexingInterface
39.5 ms MacroTools
0.3 ms ZygoteRules
199.3 ms FillArrays
0.2 ms DataValueInterfaces
1.8 ms DataAPI
0.2 ms IteratorInterfaceExtensions
0.2 ms TableTraits
19.1 ms Tables
4.0 ms GPUArraysCore
63.0 ms RecursiveArrayTools 24.73% compilation time (73% recompilation)
1.3 ms ConstructionBase
51.5 ms Setfield
9.9 ms IrrationalConstants
1.0 ms DiffRules
3.5 ms DiffResults
0.3 ms OpenLibm_jll
0.5 ms NaNMath
1.2 ms ChangesOfVariables
2.2 ms InverseFunctions
1.1 ms LogExpFunctions
0.5 ms JLLWrappers
1.2 ms CompilerSupportLibraries_jll
448.6 ms OpenSpecFun_jll 99.64% compilation time (99% recompilation)
20.5 ms SpecialFunctions
0.5 ms CommonSubexpressions
263.6 ms ForwardDiff
76.9 ms PreallocationTools 11.63% compilation time (100% recompilation)
1.1 ms FunctionWrappersWrappers
0.2 ms CommonSolve
0.9 ms ExprTools
1.4 ms RuntimeGeneratedFunctions
0.4 ms EnumX
0.3 ms Tricks
34.1 ms Lazy
253.9 ms SciMLOperators
278.3 ms SciMLBase
93.6 ms DataStructures
0.6 ms SortingAlgorithms
12.2 ms Missings
0.5 ms StatsAPI
33.2 ms StatsBase
27.3 ms PDMats
0.8 ms Rmath_jll
109.9 ms Rmath 89.53% compilation time
3.2 ms Calculus
72.6 ms DualNumbers
1.3 ms HypergeometricFunctions
9.9 ms StatsFuns
4.0 ms QuadGK
3.3 ms DensityInterface
276.3 ms Distributions
350.6 ms DiffEqBase 9.33% compilation time
0.4 ms FastClosures
272.6 ms HostCPUFeatures 36.37% compilation time (100% recompilation)
652.2 ms VectorizationBase
6.2 ms SLEEFPirates
563.9 ms LoopVectorization
219.2 ms TriangularSolve 4.98% compilation time
442.2 ms RecursiveFactorization
26.5 ms IterativeSolvers
40.1 ms KLU
5.9 ms Sparspak
14.5 ms FastLapackInterface
25.2 ms Krylov
276.4 ms KrylovKit 5.67% compilation time (100% recompilation)
821.5 ms LinearSolve 7.39% compilation time (100% recompilation)
19.9 ms FiniteDiff 46.73% compilation time (100% recompilation)
558.7 ms SimpleNonlinearSolve
0.3 ms ArrayInterfaceGPUArrays
35.0 ms GenericSchur
0.3 ms libblastrampoline_jll
5891.4 ms ExponentialUtilities
2.6 ms SimpleTraits
8.2 ms ArnoldiMethod
1.0 ms Inflate
64.8 ms Graphs
1.4 ms VertexSafeGraphs
221.2 ms SparseDiffTools 4.11% compilation time
606.0 ms NonlinearSolve
8.8 ms Distances
272.6 ms NLSolversBase
208.7 ms LineSearches
262.1 ms NLsolve
265.4 ms SciMLNLSolve
2595.5 ms OrdinaryDiffEq
Is this more in the realm of what is to be expected?
I have mainly been working with OrdinaryDiffEq but just as a reference, this is how long it takes to load DifferentialEquations and ModelingToolkit on my setup.
julia> @time using DifferentialEquations
35.537679 seconds (60.21 M allocations: 4.936 GiB, 5.21% gc time, 8.27% compilation time: 77% of which was recompilation)
julia> @time_imports using DifferentialEquations
0.2 ms Reexport
0.4 ms Requires
284.8 ms Preferences
0.3 ms SnoopPrecompile
4.2 ms ArrayInterfaceCore
3.9 ms StaticArraysCore
661.0 ms StaticArrays
4.6 ms DocStringExtensions 67.97% compilation time
15.1 ms FunctionWrappers
0.3 ms MuladdMacro
9.5 ms OrderedCollections
0.2 ms UnPack
0.5 ms Parameters
0.1 ms IfElse
46.2 ms Static
1.0 ms Compat
10.0 ms ArrayInterface
2.4 ms ManualMemory
72.6 ms ThreadingUtilities 80.56% compilation time
0.5 ms Adapt
100.7 ms OffsetArrays
0.9 ms ArrayInterfaceOffsetArrays
0.4 ms ArrayInterfaceStaticArraysCore
1.8 ms ArrayInterfaceStaticArrays
0.3 ms SIMDTypes
6.1 ms LayoutPointers
6.0 ms CloseOpenIntervals
297.0 ms StrideArraysCore 1.74% compilation time
0.3 ms BitTwiddlingConvenienceFunctions
1.8 ms CpuId
267.8 ms CPUSummary 93.67% compilation time
23.6 ms PolyesterWeave 74.82% compilation time
1.1 ms Polyester
0.6 ms FastBroadcast
78.3 ms ChainRulesCore
55.0 ms RecipesBase
1.0 ms SymbolicIndexingInterface
41.3 ms MacroTools
0.4 ms ZygoteRules
189.1 ms FillArrays
0.2 ms DataValueInterfaces
2.0 ms DataAPI
0.2 ms IteratorInterfaceExtensions
0.3 ms TableTraits
29.6 ms Tables
4.1 ms GPUArraysCore
60.7 ms RecursiveArrayTools 25.40% compilation time (76% recompilation)
1.3 ms ConstructionBase
102.3 ms Setfield
9.4 ms IrrationalConstants
1.0 ms DiffRules
3.1 ms DiffResults
0.4 ms OpenLibm_jll
0.5 ms NaNMath
1.0 ms ChangesOfVariables
1.8 ms InverseFunctions
1.0 ms LogExpFunctions
0.4 ms JLLWrappers
1.4 ms CompilerSupportLibraries_jll
397.4 ms OpenSpecFun_jll 99.45% compilation time (99% recompilation)
21.0 ms SpecialFunctions
0.5 ms CommonSubexpressions
170.6 ms ForwardDiff
91.9 ms PreallocationTools 14.41% compilation time (100% recompilation)
1.3 ms FunctionWrappersWrappers
0.3 ms CommonSolve
0.5 ms ExprTools
2.2 ms RuntimeGeneratedFunctions
0.7 ms EnumX
0.4 ms Tricks
61.0 ms Lazy
507.7 ms SciMLOperators
322.9 ms SciMLBase
112.0 ms DataStructures
0.6 ms SortingAlgorithms
11.3 ms Missings
0.6 ms StatsAPI
30.3 ms StatsBase
26.0 ms PDMats
0.8 ms Rmath_jll
111.4 ms Rmath 89.13% compilation time
3.1 ms Calculus
78.8 ms DualNumbers
1.4 ms HypergeometricFunctions
9.6 ms StatsFuns
5.2 ms QuadGK
2.8 ms DensityInterface
267.6 ms Distributions
396.0 ms DiffEqBase 9.02% compilation time
2.3 ms ResettableStacks
28.6 ms RandomNumbers 34.56% compilation time (100% recompilation)
7.7 ms Random123
0.3 ms PoissonRandom
21.3 ms FiniteDiff 45.83% compilation time (100% recompilation)
194.2 ms NLSolversBase
1.6 ms PositiveFactorizations
188.2 ms LineSearches
184.2 ms Optim
244.2 ms DiffEqNoiseProcess 3.52% compilation time
7.2 ms Distances
180.1 ms NLsolve
168.4 ms DiffEqCallbacks
181.8 ms SteadyStateDiffEq
0.3 ms FastClosures
270.4 ms HostCPUFeatures 37.53% compilation time (100% recompilation)
663.4 ms VectorizationBase
6.2 ms SLEEFPirates
638.4 ms LoopVectorization
244.5 ms TriangularSolve 4.53% compilation time
678.3 ms RecursiveFactorization
44.1 ms IterativeSolvers
33.1 ms KLU
6.0 ms Sparspak
14.2 ms FastLapackInterface
27.8 ms Krylov
342.0 ms KrylovKit 6.77% compilation time (100% recompilation)
879.9 ms LinearSolve 7.16% compilation time (100% recompilation)
489.0 ms SimpleNonlinearSolve
0.3 ms ArrayInterfaceGPUArrays
36.2 ms GenericSchur
0.3 ms libblastrampoline_jll
6235.6 ms ExponentialUtilities
2.9 ms SimpleTraits
8.6 ms ArnoldiMethod
0.9 ms Inflate
77.3 ms Graphs
1.5 ms VertexSafeGraphs
233.6 ms SparseDiffTools 3.94% compilation time
700.8 ms NonlinearSolve
308.1 ms SciMLNLSolve
2880.5 ms OrdinaryDiffEq
2.2 ms LevyArea
0.4 ms TreeViews
316.7 ms JumpProcesses
888.8 ms StochasticDiffEq
1495.7 ms ArrayLayouts
1035.4 ms BandedMatrices
265.9 ms BoundaryValueDiffEq
9.2 ms CEnum
6.5 ms OpenBLAS_jll 93.05% compilation time
3.7 ms SuiteSparse_jll
11.6 ms Sundials_jll
1513.7 ms Sundials
1021.0 ms DelayDiffEq
3734.4 ms DifferentialEquations
julia> @time using ModelingToolkit
19.530918 seconds (32.78 M allocations: 2.071 GiB, 5.49% gc time, 13.16% compilation time: 69% of which was recompilation)
@time_imports using ModelingToolkit
5.4 ms DocStringExtensions 65.67% compilation time
1.0 ms Compat
17.8 ms AbstractTrees
0.4 ms Requires
255.2 ms Preferences
0.3 ms SnoopPrecompile
4.2 ms ArrayInterfaceCore
3.1 ms StaticArraysCore
705.8 ms StaticArrays
13.4 ms FunctionWrappers
0.5 ms MuladdMacro
8.4 ms OrderedCollections
0.2 ms UnPack
0.5 ms Parameters
0.2 ms Reexport
0.1 ms IfElse
45.3 ms Static
10.2 ms ArrayInterface
2.4 ms ManualMemory
68.9 ms ThreadingUtilities 80.04% compilation time
0.5 ms Adapt
78.9 ms OffsetArrays
0.9 ms ArrayInterfaceOffsetArrays
0.5 ms ArrayInterfaceStaticArraysCore
1.7 ms ArrayInterfaceStaticArrays
0.3 ms SIMDTypes
6.2 ms LayoutPointers
5.3 ms CloseOpenIntervals
322.4 ms StrideArraysCore 1.62% compilation time
0.2 ms BitTwiddlingConvenienceFunctions
1.5 ms CpuId
275.0 ms CPUSummary 92.32% compilation time
24.7 ms PolyesterWeave 73.56% compilation time
1.1 ms Polyester
0.6 ms FastBroadcast
77.6 ms ChainRulesCore
62.7 ms RecipesBase
1.0 ms SymbolicIndexingInterface
46.6 ms MacroTools
0.4 ms ZygoteRules
190.1 ms FillArrays
0.2 ms DataValueInterfaces
1.9 ms DataAPI
0.2 ms IteratorInterfaceExtensions
0.2 ms TableTraits
18.8 ms Tables
4.6 ms GPUArraysCore
67.4 ms RecursiveArrayTools 30.31% compilation time (77% recompilation)
1.8 ms ConstructionBase
47.9 ms Setfield
8.3 ms IrrationalConstants
1.2 ms DiffRules
3.8 ms DiffResults
0.3 ms OpenLibm_jll
0.7 ms NaNMath
1.0 ms ChangesOfVariables
1.9 ms InverseFunctions
1.2 ms LogExpFunctions
0.8 ms JLLWrappers
1.6 ms CompilerSupportLibraries_jll
421.7 ms OpenSpecFun_jll 99.58% compilation time (99% recompilation)
24.1 ms SpecialFunctions
0.6 ms CommonSubexpressions
241.6 ms ForwardDiff
83.2 ms PreallocationTools 10.93% compilation time (100% recompilation)
1.1 ms FunctionWrappersWrappers
0.2 ms CommonSolve
0.4 ms ExprTools
1.5 ms RuntimeGeneratedFunctions
0.4 ms EnumX
0.3 ms Tricks
28.5 ms Lazy
255.0 ms SciMLOperators
263.1 ms SciMLBase
91.8 ms DataStructures
0.6 ms SortingAlgorithms
11.2 ms Missings
0.7 ms StatsAPI
29.6 ms StatsBase
26.7 ms PDMats
0.8 ms Rmath_jll
118.5 ms Rmath 87.13% compilation time
3.0 ms Calculus
83.1 ms DualNumbers
1.3 ms HypergeometricFunctions
9.0 ms StatsFuns
4.6 ms QuadGK
2.4 ms DensityInterface
314.2 ms Distributions
467.4 ms DiffEqBase 8.31% compilation time
387.0 ms LabelledArrays
1.0 ms LaTeXStrings
0.9 ms Formatting
1443.1 ms Latexify 96.42% compilation time (89% recompilation)
831.2 ms Unitful
36.6 ms RandomNumbers 41.25% compilation time (100% recompilation)
0.4 ms TreeViews
0.3 ms PoissonRandom
3.5 ms SimpleTraits
6.2 ms ArnoldiMethod
0.8 ms Inflate
56.6 ms Graphs
231.3 ms JumpProcesses
7.5 ms Distances
22.9 ms FiniteDiff 44.79% compilation time (100% recompilation)
221.6 ms NLSolversBase
236.6 ms LineSearches
243.3 ms NLsolve
243.4 ms DiffEqCallbacks
7.9 ms Combinatorics
0.4 ms Unityper
262.3 ms TimerOutputs 7.01% compilation time
504.8 ms MutableArithmetics
128.0 ms MultivariatePolynomials
44.7 ms DynamicPolynomials
2.7 ms Bijections
542.7 ms SymbolicUtils
208.6 ms Tokenize
334.1 ms CSTParser
1.9 ms Glob
92.1 ms Parsers 9.42% compilation time
34.8 ms JSON
8.6 ms URIs 75.02% compilation time
172.1 ms Crayons
2074.0 ms CommonMark
764.9 ms JuliaFormatter
48.7 ms IntervalSets
5.0 ms CompositeTypes
207.4 ms DomainSets
37.6 ms RandomExtensions
8.3 ms GroupsCore
680.8 ms AbstractAlgebra
0.3 ms IntegerMathUtils
27.9 ms Primes
14.0 ms Groebner
40.7 ms LambertW 49.09% compilation time
1341.8 ms Symbolics 0.79% compilation time
701.9 ms SimpleNonlinearSolve
445.9 ms ModelingToolkit
I am getting a 20 sec load time with OrdinaryDiffEq v6.44.0, on Julia 1.8.5, so very similar to you.
julia> @time_imports using OrdinaryDiffEq
4.2 ms DocStringExtensions 67.62% compilation time
0.2 ms Reexport
0.3 ms Requires
22.3 ms Preferences
0.2 ms SnoopPrecompile
3.7 ms ArrayInterfaceCore
2.6 ms StaticArraysCore
687.0 ms StaticArrays
15.5 ms FunctionWrappers
0.3 ms MuladdMacro
0.2 ms UnPack
0.5 ms Parameters
0.1 ms IfElse
51.8 ms Static
1.1 ms Compat
10.1 ms ArrayInterface
2.1 ms ManualMemory
67.4 ms ThreadingUtilities 81.14% compilation time
0.4 ms Adapt
123.2 ms OffsetArrays
0.9 ms ArrayInterfaceOffsetArrays
0.4 ms ArrayInterfaceStaticArraysCore
1.6 ms ArrayInterfaceStaticArrays
0.2 ms SIMDTypes
4.3 ms LayoutPointers
4.3 ms CloseOpenIntervals
310.5 ms StrideArraysCore 1.63% compilation time
0.2 ms BitTwiddlingConvenienceFunctions
1.2 ms CpuId
260.7 ms CPUSummary 93.87% compilation time
24.1 ms PolyesterWeave 77.20% compilation time
1.0 ms Polyester
0.4 ms FastBroadcast
77.3 ms ChainRulesCore
52.8 ms RecipesBase
0.8 ms SymbolicIndexingInterface
37.5 ms MacroTools
0.3 ms ZygoteRules
203.1 ms FillArrays
0.2 ms DataValueInterfaces
1.5 ms DataAPI
0.1 ms IteratorInterfaceExtensions
0.1 ms TableTraits
16.5 ms Tables
3.6 ms GPUArraysCore
60.9 ms RecursiveArrayTools 23.10% compilation time (78% recompilation)
1.1 ms ConstructionBase
77.3 ms Setfield
7.7 ms IrrationalConstants
0.8 ms DiffRules
3.0 ms DiffResults
0.2 ms OpenLibm_jll
0.3 ms NaNMath
0.7 ms ChangesOfVariables
1.2 ms InverseFunctions
0.8 ms LogExpFunctions
0.3 ms JLLWrappers
1.0 ms CompilerSupportLibraries_jll
367.6 ms OpenSpecFun_jll 99.64% compilation time (99% recompilation)
18.7 ms SpecialFunctions
0.4 ms CommonSubexpressions
185.5 ms ForwardDiff
74.3 ms PreallocationTools 12.01% compilation time (100% recompilation)
0.9 ms FunctionWrappersWrappers
0.2 ms CommonSolve
0.4 ms ExprTools
0.9 ms RuntimeGeneratedFunctions
0.3 ms EnumX
0.2 ms Tricks
25.0 ms Lazy
269.8 ms SciMLOperators
256.6 ms SciMLBase
96.1 ms DataStructures
0.5 ms SortingAlgorithms
10.5 ms Missings
0.4 ms StatsAPI
29.4 ms StatsBase
26.6 ms PDMats
0.7 ms Rmath_jll
105.7 ms Rmath 90.00% compilation time
2.7 ms Calculus
72.4 ms DualNumbers
1.3 ms HypergeometricFunctions
8.9 ms StatsFuns
3.5 ms QuadGK
1.5 ms DensityInterface
287.6 ms Distributions
288.4 ms DiffEqBase 12.28% compilation time
0.3 ms FastClosures
295.6 ms HostCPUFeatures 43.04% compilation time (100% recompilation)
722.2 ms VectorizationBase
5.3 ms SLEEFPirates
615.2 ms LoopVectorization
183.9 ms TriangularSolve 6.10% compilation time
546.2 ms RecursiveFactorization
24.5 ms IterativeSolvers
30.8 ms KLU
5.0 ms Sparspak
12.6 ms FastLapackInterface
22.4 ms Krylov
275.9 ms KrylovKit 5.70% compilation time (100% recompilation)
746.7 ms LinearSolve 8.77% compilation time (100% recompilation)
18.0 ms FiniteDiff 50.84% compilation time (100% recompilation)
405.0 ms SimpleNonlinearSolve
0.2 ms ArrayInterfaceGPUArrays
34.9 ms GenericSchur
0.2 ms libblastrampoline_jll
5946.5 ms ExponentialUtilities
2.3 ms SimpleTraits
6.2 ms ArnoldiMethod
0.8 ms Inflate
63.0 ms Graphs
1.0 ms VertexSafeGraphs
221.6 ms SparseDiffTools 3.90% compilation time
586.6 ms NonlinearSolve
8.0 ms Distances
219.7 ms NLSolversBase
229.8 ms LineSearches
281.2 ms NLsolve
270.0 ms SciMLNLSolve
2365.9 ms OrdinaryDiffEq
It’s a bit better on 1.9, though the precompilation time is very long (95% of that time is OrdinaryDiffEq, the rest is precompiled quickly in parallel):
Precompiling environment...
111 dependencies successfully precompiled in 518 seconds. 7 already precompiled.
1 dependency had warnings during precompilation:
┌ SciMLOperators [c0aeaf25-5076-4817-a8d5-81caf7dfa961]
│ ┌ Warning: Replacing docs for `SciMLOperators.AbstractSciMLOperator :: Union{}` in module `SciMLOperators`
│ └ @ Base.Docs docs\Docs.jl:243
└
julia> @time using OrdinaryDiffEq
10.159448 seconds (18.11 M allocations: 1.332 GiB, 6.29% gc time, 1.50% compilation time)