From 635939c02c88ad8ff30ca5e7ea260e6a9dd96b01 Mon Sep 17 00:00:00 2001 From: odow Date: Wed, 15 Dec 2021 17:49:48 +1300 Subject: [PATCH 1/2] [perf] Precompile for instantiate --- src/MathOptInterface.jl | 4 ++++ src/precompile.jl | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/MathOptInterface.jl b/src/MathOptInterface.jl index b942776110..bb9c191d9c 100644 --- a/src/MathOptInterface.jl +++ b/src/MathOptInterface.jl @@ -249,6 +249,10 @@ include("instantiate.jl") include("deprecate.jl") include("DeprecatedTest/DeprecatedTest.jl") +if VERSION > v"1.4.2" + _precompile_() +end + """ IndexMap() diff --git a/src/precompile.jl b/src/precompile.jl index 23cdbaffe5..5321e9fe36 100644 --- a/src/precompile.jl +++ b/src/precompile.jl @@ -84,3 +84,7 @@ function precompile_model(model, constraints) end return Base.precompile(Tuple{typeof(add_constrained_variables),model,Reals}) end + +function _precompile_() + Base.precompile(Tuple{Core.kwftype(typeof(instantiate)),NamedTuple{(:with_bridge_type,), Tuple{DataType}},typeof(instantiate),Type}) # time: 0.481656 +end From 340bc71c7c6e2231a0f9df2f702f4b330a8687c0 Mon Sep 17 00:00:00 2001 From: Oscar Dowson Date: Wed, 15 Dec 2021 17:54:11 +1300 Subject: [PATCH 2/2] Update precompile.jl --- src/precompile.jl | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/precompile.jl b/src/precompile.jl index 5321e9fe36..62ad1fe3a9 100644 --- a/src/precompile.jl +++ b/src/precompile.jl @@ -86,5 +86,12 @@ function precompile_model(model, constraints) end function _precompile_() - Base.precompile(Tuple{Core.kwftype(typeof(instantiate)),NamedTuple{(:with_bridge_type,), Tuple{DataType}},typeof(instantiate),Type}) # time: 0.481656 + return Base.precompile( + Tuple{ + Core.kwftype(typeof(instantiate)), + NamedTuple{(:with_bridge_type,),Tuple{DataType}}, + typeof(instantiate), + Type, + }, + ) # time: 0.481656 end