Skip to content

Commit 316dad4

Browse files
Remove recompile_invalidations
`@recompile_invalidations` should only be used in very specific scenarios, and this is not one of those scenarios. Also, there are big changes being done with https://github.com/SciML/CommonWorldInvalidations.jl. With that, we only need to `@recompile_invalidations` on a few entry points. In particular, Static.jl, Symbolics.jl, and preferably ForwardDiff.jl and StaticArrays.jl would adopt it too. But this means that in order to handle all of this effectively, in SciML we only need to apply it on Static.jl, Symbolics.jl, and SciMLBase.jl and the whole ecosystem should be fine. In any case, this library doesn't need it. It shouldn't make a tangible difference in compile times, while it increases precompile times by a lot.
1 parent 6740074 commit 316dad4

File tree

1 file changed

+48
-50
lines changed

1 file changed

+48
-50
lines changed

src/NonlinearSolve.jl

Lines changed: 48 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -5,56 +5,54 @@ if isdefined(Base, :Experimental) && isdefined(Base.Experimental, Symbol("@max_m
55
end
66

77
using Reexport: @reexport
8-
using PrecompileTools: @recompile_invalidations, @compile_workload, @setup_workload
9-
10-
@recompile_invalidations begin
11-
using ADTypes: ADTypes, AutoFiniteDiff, AutoForwardDiff, AutoPolyesterForwardDiff,
12-
AutoZygote, AutoEnzyme, AutoSparse
13-
# FIXME: deprecated, remove in future
14-
using ADTypes: AutoSparseFiniteDiff, AutoSparseForwardDiff,
15-
AutoSparsePolyesterForwardDiff, AutoSparseZygote
16-
17-
using ArrayInterface: ArrayInterface, can_setindex, restructure, fast_scalar_indexing,
18-
ismutable
19-
using ConcreteStructs: @concrete
20-
using DiffEqBase: DiffEqBase, AbstractNonlinearTerminationMode,
21-
AbstractSafeBestNonlinearTerminationMode, AbsNormTerminationMode,
22-
AbsSafeBestTerminationMode, AbsSafeTerminationMode,
23-
AbsTerminationMode, NormTerminationMode, RelNormTerminationMode,
24-
RelSafeBestTerminationMode, RelSafeTerminationMode,
25-
RelTerminationMode, SimpleNonlinearSolveTerminationMode,
26-
SteadyStateDiffEqTerminationMode
27-
using FastBroadcast: @..
28-
using FastClosures: @closure
29-
using FiniteDiff: FiniteDiff
30-
using ForwardDiff: ForwardDiff, Dual
31-
using LazyArrays: LazyArrays, ApplyArray, cache
32-
using LinearAlgebra: LinearAlgebra, ColumnNorm, Diagonal, I, LowerTriangular, Symmetric,
33-
UpperTriangular, axpy!, cond, diag, diagind, dot, issuccess,
34-
istril, istriu, lu, mul!, norm, pinv, tril!, triu!
35-
using LineSearches: LineSearches
36-
using LinearSolve: LinearSolve, LUFactorization, QRFactorization, ComposePreconditioner,
37-
InvPreconditioner, needs_concrete_A, AbstractFactorization,
38-
DefaultAlgorithmChoice, DefaultLinearSolver
39-
using MaybeInplace: @bb
40-
using Printf: @printf
41-
using Preferences: Preferences, @load_preference, @set_preferences!
42-
using RecursiveArrayTools: recursivecopy!, recursivefill!
43-
using SciMLBase: AbstractNonlinearAlgorithm, JacobianWrapper, AbstractNonlinearProblem,
44-
AbstractSciMLOperator, _unwrap_val, has_jac, isinplace, NLStats
45-
using SparseArrays: AbstractSparseMatrix, SparseMatrixCSC
46-
using SparseDiffTools: SparseDiffTools, AbstractSparsityDetection,
47-
ApproximateJacobianSparsity, JacPrototypeSparsityDetection,
48-
NoSparsityDetection, PrecomputedJacobianColorvec,
49-
SymbolicsSparsityDetection, auto_jacvec, auto_jacvec!,
50-
auto_vecjac, init_jacobian, num_jacvec, num_jacvec!, num_vecjac,
51-
num_vecjac!, sparse_jacobian, sparse_jacobian!,
52-
sparse_jacobian_cache
53-
using StaticArraysCore: StaticArray, SVector, SArray, MArray, Size, SMatrix
54-
using SymbolicIndexingInterface: SymbolicIndexingInterface, ParameterIndexingProxy,
55-
symbolic_container, parameter_values, state_values,
56-
getu, setu
57-
end
8+
using PrecompileTools: @compile_workload, @setup_workload
9+
10+
using ADTypes: ADTypes, AutoFiniteDiff, AutoForwardDiff, AutoPolyesterForwardDiff,
11+
AutoZygote, AutoEnzyme, AutoSparse
12+
# FIXME: deprecated, remove in future
13+
using ADTypes: AutoSparseFiniteDiff, AutoSparseForwardDiff,
14+
AutoSparsePolyesterForwardDiff, AutoSparseZygote
15+
16+
using ArrayInterface: ArrayInterface, can_setindex, restructure, fast_scalar_indexing,
17+
ismutable
18+
using ConcreteStructs: @concrete
19+
using DiffEqBase: DiffEqBase, AbstractNonlinearTerminationMode,
20+
AbstractSafeBestNonlinearTerminationMode, AbsNormTerminationMode,
21+
AbsSafeBestTerminationMode, AbsSafeTerminationMode,
22+
AbsTerminationMode, NormTerminationMode, RelNormTerminationMode,
23+
RelSafeBestTerminationMode, RelSafeTerminationMode,
24+
RelTerminationMode, SimpleNonlinearSolveTerminationMode,
25+
SteadyStateDiffEqTerminationMode
26+
using FastBroadcast: @..
27+
using FastClosures: @closure
28+
using FiniteDiff: FiniteDiff
29+
using ForwardDiff: ForwardDiff, Dual
30+
using LazyArrays: LazyArrays, ApplyArray, cache
31+
using LinearAlgebra: LinearAlgebra, ColumnNorm, Diagonal, I, LowerTriangular, Symmetric,
32+
UpperTriangular, axpy!, cond, diag, diagind, dot, issuccess,
33+
istril, istriu, lu, mul!, norm, pinv, tril!, triu!
34+
using LineSearches: LineSearches
35+
using LinearSolve: LinearSolve, LUFactorization, QRFactorization, ComposePreconditioner,
36+
InvPreconditioner, needs_concrete_A, AbstractFactorization,
37+
DefaultAlgorithmChoice, DefaultLinearSolver
38+
using MaybeInplace: @bb
39+
using Printf: @printf
40+
using Preferences: Preferences, @load_preference, @set_preferences!
41+
using RecursiveArrayTools: recursivecopy!, recursivefill!
42+
using SciMLBase: AbstractNonlinearAlgorithm, JacobianWrapper, AbstractNonlinearProblem,
43+
AbstractSciMLOperator, _unwrap_val, has_jac, isinplace, NLStats
44+
using SparseArrays: AbstractSparseMatrix, SparseMatrixCSC
45+
using SparseDiffTools: SparseDiffTools, AbstractSparsityDetection,
46+
ApproximateJacobianSparsity, JacPrototypeSparsityDetection,
47+
NoSparsityDetection, PrecomputedJacobianColorvec,
48+
SymbolicsSparsityDetection, auto_jacvec, auto_jacvec!,
49+
auto_vecjac, init_jacobian, num_jacvec, num_jacvec!, num_vecjac,
50+
num_vecjac!, sparse_jacobian, sparse_jacobian!,
51+
sparse_jacobian_cache
52+
using StaticArraysCore: StaticArray, SVector, SArray, MArray, Size, SMatrix
53+
using SymbolicIndexingInterface: SymbolicIndexingInterface, ParameterIndexingProxy,
54+
symbolic_container, parameter_values, state_values,
55+
getu, setu
5856

5957
@reexport using SciMLBase, SimpleNonlinearSolve
6058

0 commit comments

Comments
 (0)