[cups.general] Difference CUPS <-> Windows Spooler

Michael R Sweet msweet at apple.com
Thu Feb 21 14:33:27 PST 2008


Stefan Monnier wrote:
>> With CUPS, an application will send either a PDF or PostScript file
>> which is spooled in a temporary file (/var/spool/cups/dNNNNN-NNN)
>> before printing - that is the main source of delay with large print
>> files.
> 
> And this delay seems unrelated to the location and coupling of the
> printer driver.  The issue is that CUPS decides to wait until
> (/var/spool/cups/dNNNNN-NNN) is fully written before passing it to the
> next filter instead of piping it directly while it gets written.
> 
> Is cupsd going to ever get the equivalent of gcc's "-pipe" option?

No, never.

While some file formats can be read from a stream, most cannot.  In
addition, we need to have some portion of the print data to identify
the file type as most apps do not specify the document format, so we
auto-type based on the contents.  Even then, if we streamed the
incoming print data to the first filter and that filter needed random
access to the print data, the filter would just copy it to a temporary
file.  Finally, we'd still need to save the incoming print data to a
spool file in case the print job did not succeed, so for many file
formats we'd end up using twice the disk space and bandwidth with no
improvement in print speed.

-- 
______________________________________________________________________
Michael R Sweet                        Senior Printing System Engineer





More information about the cups mailing list