If using Julia 1.9 or above, you can get large speedups (about 10X) in startup time by using the native code caching feature. The idea is that when precompiling CMBLensing, several typically-used functions are run and precompiled, making them much faster to use in subsequent sessions.
Because this can make precompilation of CMBLensing take somewhat longer (a few minutes), its disabled by default. But you can enable it by running,
julia> using CMBLensing julia> CMBLensing.set_preferences!(CMBLensing, "precompile" => true)
The setting will be stored in a file called
LocalPreferences.toml in your active environment (which you are free to edit by hand). The next time you start Julia it will precompile CMBLensing (which will now take a few minutes), but after that startup will be much faster. The precompilation calls the following functions:
Float64 CPU arrays for a dataset with
pol=:IP. Those funtions and any called by those functions will be much faster on first call after precompilation is enabled. If you don't need all those combinations, its also possible to specify just a subset of them, e.g.:
julia> CMBLensing.set_preferences!(CMBLensing, "precompile" => "[(:P, Float32, Array))]")
For even more speedups and control over what to precompile, you can create a "Startup" package following the instruction here: PrecompileTools.jl#Startup.