Skip to content

Commit a793c21

Browse files
authored
Drastically reduce the number of imports that are inside @recompile_invalidations
This should significantly improve precompile time and might mitigate https://discourse.julialang.org/t/modelingtoolkit-takes-forever-to-precompile-on-windows-11/114492/66.
1 parent b77d998 commit a793c21

File tree

1 file changed

+36
-38
lines changed

1 file changed

+36
-38
lines changed

src/ModelingToolkit.jl

Lines changed: 36 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -4,38 +4,9 @@ $(DocStringExtensions.README)
44
module ModelingToolkit
55
using PrecompileTools, Reexport
66
@recompile_invalidations begin
7-
using DocStringExtensions
8-
using Compat
9-
using AbstractTrees
10-
using DiffEqBase, SciMLBase, ForwardDiff
11-
using SciMLBase: StandardODEProblem, StandardNonlinearProblem, handle_varmap
12-
using Distributed
13-
using StaticArrays, LinearAlgebra, SparseArrays, LabelledArrays
14-
using InteractiveUtils
15-
using Latexify, Unitful, ArrayInterface
16-
using Setfield, ConstructionBase
17-
using JumpProcesses
18-
using DataStructures
19-
using SpecialFunctions, NaNMath
7+
using StaticArrays
208
using RuntimeGeneratedFunctions
219
using RuntimeGeneratedFunctions: drop_expr
22-
using Base.Threads
23-
using DiffEqCallbacks
24-
using Graphs
25-
import ExprTools: splitdef, combinedef
26-
import Libdl
27-
using DocStringExtensions
28-
using Base: RefValue
29-
using Combinatorics
30-
import Distributions
31-
import FunctionWrappersWrappers
32-
using URIs: URI
33-
using SciMLStructures
34-
import OrderedCollections
35-
36-
using RecursiveArrayTools
37-
38-
using SymbolicIndexingInterface
3910
export independent_variables, unknowns, parameters, full_parameters, continuous_events,
4011
discrete_events
4112
import SymbolicUtils
@@ -46,11 +17,6 @@ using PrecompileTools, Reexport
4617
using SymbolicUtils.Code
4718
import SymbolicUtils.Code: toexpr
4819
import SymbolicUtils.Rewriters: Chain, Postwalk, Prewalk, Fixpoint
49-
import JuliaFormatter
50-
51-
using MLStyle
52-
53-
using Reexport
5420
using Symbolics
5521
using Symbolics: degree
5622
using Symbolics: _parse_vars, value, @derivatives, get_variables,
@@ -69,11 +35,43 @@ using PrecompileTools, Reexport
6935
substituter, scalarize, getparent, hasderiv, hasdiff
7036

7137
import DiffEqBase: @add_kwonly
72-
import OrdinaryDiffEq
73-
74-
import Graphs: SimpleDiGraph, add_edge!, incidence_matrix
7538
end
7639

40+
using DocStringExtensions
41+
using SpecialFunctions, NaNMath
42+
using DiffEqCallbacks
43+
using Graphs
44+
import ExprTools: splitdef, combinedef
45+
import OrderedCollections
46+
47+
using SymbolicIndexingInterface
48+
using LinearAlgebra, SparseArrays, LabelledArrays
49+
using InteractiveUtils
50+
using JumpProcesses
51+
using DataStructures
52+
using Base.Threads
53+
using Latexify, Unitful, ArrayInterface
54+
using Setfield, ConstructionBase
55+
import Libdl
56+
using DocStringExtensions
57+
using Base: RefValue
58+
using Combinatorics
59+
import Distributions
60+
import FunctionWrappersWrappers
61+
using URIs: URI
62+
using SciMLStructures
63+
using Compat
64+
using AbstractTrees
65+
using DiffEqBase, SciMLBase, ForwardDiff
66+
using SciMLBase: StandardODEProblem, StandardNonlinearProblem, handle_varmap
67+
using Distributed
68+
import JuliaFormatter
69+
using MLStyle
70+
import OrdinaryDiffEq
71+
using Reexport
72+
using RecursiveArrayTools
73+
import Graphs: SimpleDiGraph, add_edge!, incidence_matrix
74+
7775
@reexport using Symbolics
7876
@reexport using UnPack
7977
RuntimeGeneratedFunctions.init(@__MODULE__)

0 commit comments

Comments
 (0)