Large vs Small Packages

A middle ground between a monolithic package and splitting it up into several packages is splitting the big package’s code into several submodules.

If you can break up a large package into many that do not depend on one another, that can speed up precompile times, as now they can precompile in parallel.


Yes, I think splitting a large package into several ones makes more sense than just creating submodules in terms of performance. In a language like Python, one would just create submodules and import whatever is needed. Due to precompilation, in Julia it makes much more sense to split the package in multiple ones to avoid precompiling unnecessary stuff at the beginning.