I have a server where I frequently hold 2000+ jobs (some times as much as 15K) then release them to a large Xerox production printer. When the queue length gets around the 2K mark, the unspooling process starts to dramatically slow down. From doing straces, it appears this is because every cf and hf file for every job in the queue must be processed every time a job is unspooled.
Oddly enough this only seems to be a problem if you do something like an lpc release <printer> all
If you release a few jobs at a time (20 or so), the few jobs that are released un-spool quite quickly.