Why does it always recompile a package?

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”. :grin: