From d003e4a903d16d445c88c7ea5ff90780e35c10e8 Mon Sep 17 00:00:00 2001 From: Morten Piibeleht Date: Tue, 1 Apr 2025 18:40:47 +1300 Subject: [PATCH 1/4] perf: add basic precompilation --- src/JuliaHub.jl | 2 ++ src/precompile.jl | 29 +++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 src/precompile.jl diff --git a/src/JuliaHub.jl b/src/JuliaHub.jl index 1b4955a0f..af3738189 100644 --- a/src/JuliaHub.jl +++ b/src/JuliaHub.jl @@ -62,4 +62,6 @@ macro _mark_names_public() end @_mark_names_public +include("precompile.jl") + end diff --git a/src/precompile.jl b/src/precompile.jl new file mode 100644 index 000000000..ea12a6550 --- /dev/null +++ b/src/precompile.jl @@ -0,0 +1,29 @@ +precompile(JuliaHub.authenticate, ()) +precompile(JuliaHub.authenticate, (Nothing,)) +precompile(JuliaHub.authenticate, (String,)) +precompile(JuliaHub.authenticate, (String, String)) + +precompile(JuliaHub.datasets, ()) +precompile(JuliaHub.datasets, (String,)) +precompile(JuliaHub.dataset, (Dataset,)) +precompile(JuliaHub.dataset, (String,)) +precompile(JuliaHub.dataset, (Tuple{String,String},)) + +precompile(JuliaHub.jobs, ()) +precompile(JuliaHub.job, (Job,)) +precompile(JuliaHub.job, (String,)) + +precompile(JuliaHub.batchimages, ()) +precompile(JuliaHub.batchimages, (String,)) +precompile(JuliaHub.appbundle, (String,)) +precompile(JuliaHub.appbundle, (String, String)) +precompile(JuliaHub.submit_job, (WorkloadConfig,)) + +# Precompile the basic show() methods for all public types +for sym in JuliaHub._find_public_names() + t = getfield(@__MODULE__, sym) + if isa(t, DataType) + precompile(Base.show, (Base.TTY, MIME"text/plain", t)) + precompile(Base.show, (Base.TTY, MIME"text/plain", Vector{t})) + end +end From 5909c87170c236cf00cc766052b4be053bf0a185 Mon Sep 17 00:00:00 2001 From: Morten Piibeleht Date: Tue, 1 Apr 2025 18:57:19 +1300 Subject: [PATCH 2/4] also precompile nodespecs --- src/precompile.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/precompile.jl b/src/precompile.jl index ea12a6550..5c0fd7084 100644 --- a/src/precompile.jl +++ b/src/precompile.jl @@ -13,6 +13,7 @@ precompile(JuliaHub.jobs, ()) precompile(JuliaHub.job, (Job,)) precompile(JuliaHub.job, (String,)) +precompile(JuliaHub.nodespecs, ()) precompile(JuliaHub.batchimages, ()) precompile(JuliaHub.batchimages, (String,)) precompile(JuliaHub.appbundle, (String,)) From eafbf0b46199f3d882b7c57ee41ef18c4733d3a1 Mon Sep 17 00:00:00 2001 From: Morten Piibeleht Date: Tue, 1 Apr 2025 18:58:50 +1300 Subject: [PATCH 3/4] fix formatting --- src/precompile.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/precompile.jl b/src/precompile.jl index 5c0fd7084..a2512dbe4 100644 --- a/src/precompile.jl +++ b/src/precompile.jl @@ -7,7 +7,7 @@ precompile(JuliaHub.datasets, ()) precompile(JuliaHub.datasets, (String,)) precompile(JuliaHub.dataset, (Dataset,)) precompile(JuliaHub.dataset, (String,)) -precompile(JuliaHub.dataset, (Tuple{String,String},)) +precompile(JuliaHub.dataset, (Tuple{String, String},)) precompile(JuliaHub.jobs, ()) precompile(JuliaHub.job, (Job,)) From 0cb9ba8dec604c5e4218f75184c708442b4ce410 Mon Sep 17 00:00:00 2001 From: Morten Piibeleht Date: Tue, 1 Apr 2025 19:13:49 +1300 Subject: [PATCH 4/4] also batch job submit --- src/precompile.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/precompile.jl b/src/precompile.jl index a2512dbe4..128c1b8c2 100644 --- a/src/precompile.jl +++ b/src/precompile.jl @@ -19,6 +19,7 @@ precompile(JuliaHub.batchimages, (String,)) precompile(JuliaHub.appbundle, (String,)) precompile(JuliaHub.appbundle, (String, String)) precompile(JuliaHub.submit_job, (WorkloadConfig,)) +precompile(JuliaHub.submit_job, (BatchJob,)) # Precompile the basic show() methods for all public types for sym in JuliaHub._find_public_names()