On Mon, Mar 20, 2023, 11:25 AM Philip Kaludercic wrote: > Lynn Winebarger writes: > > > On Mon, Mar 20, 2023, 4:55 AM Lynn Winebarger > wrote: > > > >> On Mon, Mar 20, 2023, 2:31 AM Yuan Fu wrote: > >> > >>> > On Mar 19, 2023, at 6:18 PM, Lynn Winebarger > >>> wrote: > >>> > > >>> > I've > >>> > done this manually on various systems I use with a significant > >>> > improvement in startup performance. > >>> > >>> It'll be interesting to see the numbers on the improvement. How much > does > >>> it improve startup time if there is x packages and y are loaded at > startup > >>> time? > >> > >> Good question. The systems I've done this manually on are one-off builds > >> of 28.x on sandboxed systems where the system emacs is 24.3. So, I > didn't > >> have to worry about managing package updates with any frequency. > > > > I don't have any hard measurements, but my recollection is that > installing > > ~1200 packages on those systems and "loading the world" took something > like > > 5 minutes, while a similar set of packages installed in a unified > directory > > takes about 1.5 minutes. > > I just skimmed through the initial message, and when reading this my > initial thought is does the the advantage justify effort/complexity, > considering that most users have an order of magnitude fewer packages > installed (of which a few are installed using package-vc which IIUC > would explicitly not want to make use of this feature). > I have no idea. There's a bit of a chicken and egg problem when installing packages is slow (even with a local mirror of the elpas) and having a lot of packages loaded slows down startup. I think I'm going to hack something together starting with advice on the existing package management and taking some inspiration from the design of Jonas Bernoulli's epkg and emir packages for tracking installed packages and component files in a SQLite database. Lynn