I’ve just finished coding up a performance enhancement for system-config-printer. Now after clicking “New Printer”, it starts fetching the list of printer models and available devices while you are still thinking of a name to give to the printer. Previously it would only fetch those lists when you click “Next”.
The next step to improving the speed of adding a new printer will be to avoid loading the foomatic database altogether. As it is, CUPS already does this for us (thanks to the CUPS driver that foomatic provides), so there is no longer any need for us to do it ourselves.
The foomatic parsing code will still be useful for something else. I can probably put it in the foomatic RPM package to validate the database at build time. Waste not, want not!
Hopefully something will come of the talk of getting performance/use-case ratings into the PPD files so that we can use that to suggest a recommended driver to you, dear user, when you plug in a printer. As it stands we’ve been just using whichever driver foomatic has as “the” recommended driver — information which will no longer be available to us once we drop the foomatic parser.