Why PUP Is Modular
I got an email this morning about PUP:
This is more a question of philosophy than anything else: is there any particular reason (other than size) that you decided to assemble the PUP utility as a number of individual add-ins, rather than one large one?
My reply:
The primary reason was size. It would be a HUGE add-in and gigantic memory hog if it were all in one file. And besides, most users only use a few of the utilities. Plus, because it's modular I can provide bug fixes and updates to a single module rather than requiring the user to download the entire file again. And finally, it's just much easier to work on small pieces.
The original version of PUP, developed back in 1994, was contained in a single file. But I added so many new features to PUP v2, that I had to figure out a way to use less memory. So I wrote code in the main add-in file that loads the other add-ins when needed. This memory management was improved in PUP v5, with a method to let the user specify the maximum number of PUP utilities to remain in memory (the default is three). The utility files are closed on a first-in-first-out basis. When a new utility is loaded (and the maximum number would be exceeded), the "oldest" one is unloaded.
Spreadsheet Page Blog
Welcome to the Spreadsheet Page Blog. This is where you find the latest news on my books, add-ins, and other Excel-related topics. Comments are welcome.