Could be I’m reading too much into “compilation time”. It might not be the recompilation of package code, but compilation of methods to process the extension modules. For example:
K:\DevDocuments>julia --banner=no --project
... 你好我在 K:\DevDocuments
... aliases: pn = propertynames
... utilities available: @history, @cls, cls()
julia> @time import Inherit
0.013344 seconds (10.98 k allocations: 1.487 MiB, 36.63% compilation time)
julia> @time import PackageExtensionsExample
0.003583 seconds (1.63 k allocations: 126.219 KiB)
julia>
K:\DevDocuments>julia --banner=no --project
... 你好我在 K:\DevDocuments
... aliases: pn = propertynames
... utilities available: @history, @cls, cls()
julia> @time import PackageExtensionsExample
0.006131 seconds (2.48 k allocations: 181.250 KiB, 72.28% compilation time)
julia> @time import Inherit
0.007673 seconds (10.13 k allocations: 1.419 MiB)
Both modules use the extension mechanism, only the first loaded module shows “compilation time”. ![]()