| <HTML> |
| <HEAD> |
| <META NAME="COPYRIGHT" CONTENT="Copyright 1997-2003, All Rights Reserved"> |
| <META NAME="DOCNUMBER" CONTENT="CUPS-SPS-1.2"> |
| <META NAME="Author" CONTENT="Easy Software Products"> |
| <TITLE>CUPS Software Performance Specification</TITLE> |
| </HEAD> |
| <BODY> |
| |
| <H1>Scope</H1> |
| |
| <H2>Identification</H2> |
| |
| <P>This software performance specification provides an analysis of the |
| memory, disk, and processor utilitization of each program in the |
| Common UNIX Printing System ("CUPS") Version 1.2.</P> |
| |
| <P>For the purposes of comparison, all figures are for the Linux Intel |
| platform. Memory utilization on other platforms should be similar. |
| |
| <EMBED SRC="system-overview.shtml"> |
| |
| <H2>Document Overview</H2> |
| |
| <P>This software performance specification is organized into the |
| following sections:</P> |
| |
| <UL> |
| <LI>1 - Scope</LI> |
| <LI>2 - References</LI> |
| <LI>3 - Programs</LI> |
| <LI>4 - Scheduler Objects</LI> |
| <LI>A - Glossary</LI> |
| </UL> |
| |
| <EMBED SRC="references.shtml"> |
| |
| <H1>Programs</H1> |
| |
| <P>The following table describes the average memory, disk, and CPU usage of |
| each program in CUPS. |
| |
| <P>The base memory column shows the initial memory requirements for each |
| program, including any shared libraries that are provided by CUPS. |
| |
| <P>The max memory column shows the maximum amount of memory that will be |
| used by the program based upon the default configuration settings supplied |
| with CUPS. |
| |
| <P>The temp files column indicates whether any temporary files are created. |
| |
| <P>The CPU usage column specifies a relative CPU usage by the program under |
| normal conditions, either low, medium, or high. Low usage indicates that |
| the program will never use more than 33% of the available CPU time. Medium |
| usage indicates the program will use as much as 66% of the available CPU |
| time. High usage indicates the program uses 66% or more of the available CPU |
| time. |
| |
| <CENTER><TABLE WIDTH="80%" BORDER="1"> |
| <TR> |
| <TH COLSPAN="3">Backends</TH> |
| </TR> |
| <TR> |
| <TH>Program</TH> |
| <TH>Base Memory</TH> |
| <TH>Max Memory</TH> |
| <TH>Temp Files</TH> |
| <TH>CPU Usage</TH> |
| </TR> |
| <TR> |
| <TD>ipp</TD> |
| <TD>91k</TD> |
| <TD>256k</TD> |
| <TD>Up to size of print file</TD> |
| <TD>Low</TD> |
| </TR> |
| <TR> |
| <TD>lpd</TD> |
| <TD>89k</TD> |
| <TD>89k</TD> |
| <TD>Up to size of print file</TD> |
| <TD>Low</TD> |
| </TR> |
| <TR> |
| <TD>parallel</TD> |
| <TD>85k</TD> |
| <TD>85k</TD> |
| <TD>Up to size of print file</TD> |
| <TD>Low</TD> |
| </TR> |
| <TR> |
| <TD>serial</TD> |
| <TD>85k</TD> |
| <TD>85k</TD> |
| <TD>Up to size of print file</TD> |
| <TD>Low</TD> |
| </TR> |
| <TR> |
| <TD>socket</TD> |
| <TD>85k</TD> |
| <TD>85k</TD> |
| <TD>Up to size of print file</TD> |
| <TD>Low</TD> |
| </TR> |
| <TR> |
| <TD>usb</TD> |
| <TD>85k</TD> |
| <TD>85k</TD> |
| <TD>Up to size of print file</TD> |
| <TD>Low</TD> |
| </TR> |
| <TR> |
| <TH COLSPAN="3">CGIs</TH> |
| </TR> |
| <TR> |
| <TH>Program</TH> |
| <TH>Base Memory</TH> |
| <TH>Max Memory</TH> |
| <TH>Temp Files</TH> |
| <TH>CPU Usage</TH> |
| </TR> |
| <TR> |
| <TD>admin.cgi</TD> |
| <TD>107k</TD> |
| <TD>256k</TD> |
| <TD>Up to size of PPD file</TD> |
| <TD>Medium</TD> |
| </TR> |
| <TR> |
| <TD>classes.cgi</TD> |
| <TD>95k</TD> |
| <TD>Size of class objects</TD> |
| <TD>None</TD> |
| <TD>Medium</TD> |
| </TR> |
| <TR> |
| <TD>jobs.cgi</TD> |
| <TD>93k</TD> |
| <TD>Size of job objects</TD> |
| <TD>None</TD> |
| <TD>Medium</TD> |
| </TR> |
| <TR> |
| <TD>printers.cgi</TD> |
| <TD>95k</TD> |
| <TD>Size of printer objects</TD> |
| <TD>None</TD> |
| <TD>Medium</TD> |
| </TR> |
| <TR> |
| <TH COLSPAN="3">Command-Line Programs</TH> |
| </TR> |
| <TR> |
| <TH>Program</TH> |
| <TH>Base Memory</TH> |
| <TH>Max Memory</TH> |
| <TH>Temp Files</TH> |
| <TH>CPU Usage</TH> |
| </TR> |
| <TR> |
| <TD>accept</TD> |
| <TD>88k</TD> |
| <TD>128k</TD> |
| <TD>None</TD> |
| <TD>Low</TD> |
| </TR> |
| <TR> |
| <TD>cancel</TD> |
| <TD>88k</TD> |
| <TD>128k</TD> |
| <TD>None</TD> |
| <TD>Low</TD> |
| </TR> |
| <TR> |
| <TD>disable</TD> |
| <TD>88k</TD> |
| <TD>128k</TD> |
| <TD>None</TD> |
| <TD>Low</TD> |
| </TR> |
| <TR> |
| <TD>enable</TD> |
| <TD>88k</TD> |
| <TD>128k</TD> |
| <TD>None</TD> |
| <TD>Low</TD> |
| </TR> |
| <TR> |
| <TD>lp</TD> |
| <TD>90k</TD> |
| <TD>256k</TD> |
| <TD>None</TD> |
| <TD>Low</TD> |
| </TR> |
| <TR> |
| <TD>lpadmin</TD> |
| <TD>148k</TD> |
| <TD>256k</TD> |
| <TD>None</TD> |
| <TD>Low</TD> |
| </TR> |
| <TR> |
| <TD>lpc</TD> |
| <TD>86k</TD> |
| <TD>Size of job and printer objects</TD> |
| <TD>None</TD> |
| <TD>Medium</TD> |
| </TR> |
| <TR> |
| <TD>lpinfo</TD> |
| <TD>89k</TD> |
| <TD>Size of device and PPD objects</TD> |
| <TD>None</TD> |
| <TD>Medium</TD> |
| </TR> |
| <TR> |
| <TD>lpmove</TD> |
| <TD>88k</TD> |
| <TD>128k</TD> |
| <TD>None</TD> |
| <TD>Low</TD> |
| </TR> |
| <TR> |
| <TD>lpoptions</TD> |
| <TD>89k</TD> |
| <TD>128k</TD> |
| <TD>None</TD> |
| <TD>Low</TD> |
| </TR> |
| <TR> |
| <TD>lppasswd</TD> |
| <TD>90k</TD> |
| <TD>90k</TD> |
| <TD>None</TD> |
| <TD>Low</TD> |
| </TR> |
| <TR> |
| <TD>lpq</TD> |
| <TD>87k</TD> |
| <TD>Size of job objects</TD> |
| <TD>None</TD> |
| <TD>Medium</TD> |
| </TR> |
| <TR> |
| <TD>lpr</TD> |
| <TD>87k</TD> |
| <TD>256k</TD> |
| <TD>None</TD> |
| <TD>Low</TD> |
| </TR> |
| <TR> |
| <TD>lprm</TD> |
| <TD>84k</TD> |
| <TD>128k</TD> |
| <TD>None</TD> |
| <TD>Low</TD> |
| </TR> |
| <TR> |
| <TD>lpstat</TD> |
| <TD>119k</TD> |
| <TD>Size of job, printer, and class objects</TD> |
| <TD>None</TD> |
| <TD>Medium</TD> |
| </TR> |
| <TR> |
| <TD>reject</TD> |
| <TD>88k</TD> |
| <TD>128k</TD> |
| <TD>None</TD> |
| <TD>Low</TD> |
| </TR> |
| <TR> |
| <TH COLSPAN="3">Daemons</TH> |
| </TR> |
| <TR> |
| <TH>Program</TH> |
| <TH>Base Memory</TH> |
| <TH>Max Memory</TH> |
| <TH>Temp Files</TH> |
| <TH>CPU Usage</TH> |
| </TR> |
| <TR> |
| <TD>cups-lpd</TD> |
| <TD>92k</TD> |
| <TD>256k</TD> |
| <TD>One file per control or data file from client</TD> |
| <TD>Low</TD> |
| </TR> |
| <TR> |
| <TD>cupsd</TD> |
| <TD>308k</TD> |
| <TD>See Scheduler Requirements</TD> |
| <TD>See Scheduler Requirements</TD> |
| <TD>Medium</TD> |
| </TR> |
| <TR> |
| <TD>cups-polld</TD> |
| <TD>84k</TD> |
| <TD>Size of printer and class objects</TD> |
| <TD>None</TD> |
| <TD>Low</TD> |
| </TR> |
| <TR> |
| <TH COLSPAN="3">Filters</TH> |
| </TR> |
| <TR> |
| <TH>Program</TH> |
| <TH>Base Memory</TH> |
| <TH>Max Memory</TH> |
| <TH>Temp Files</TH> |
| <TH>CPU Usage</TH> |
| </TR> |
| <TR> |
| <TD>hpgltops</TD> |
| <TD>263k</TD> |
| <TD>320k</TD> |
| <TD>None</TD> |
| <TD>Medium</TD> |
| </TR> |
| <TR> |
| <TD>imagetops</TD> |
| <TD>628k</TD> |
| <TD>10M</TD> |
| <TD>Swap file for uncompressed image data</TD> |
| <TD>Medium</TD> |
| </TR> |
| <TR> |
| <TD>imagetoraster</TD> |
| <TD>652k</TD> |
| <TD>10M</TD> |
| <TD>Swap file for uncompressed image data</TD> |
| <TD>High</TD> |
| </TR> |
| <TR> |
| <TD>pstops</TD> |
| <TD>775k</TD> |
| <TD>840k</TD> |
| <TD>Up to size of print file</TD> |
| <TD>Medium</TD> |
| </TR> |
| <TR> |
| <TD>pstoraster</TD> |
| <TD>4M</TD> |
| <TD>14M</TD> |
| <TD>Swap file for command lists</TD> |
| <TD>High</TD> |
| </TR> |
| <TR> |
| <TD>rastertoepson</TD> |
| <TD>693k</TD> |
| <TD>1M</TD> |
| <TD>None</TD> |
| <TD>Low</TD> |
| </TR> |
| <TR> |
| <TD>rastertohp</TD> |
| <TD>690k</TD> |
| <TD>1M</TD> |
| <TD>None</TD> |
| <TD>Low</TD> |
| </TR> |
| <TR> |
| <TD>texttops</TD> |
| <TD>638k</TD> |
| <TD>4*cols*rows</TD> |
| <TD>None</TD> |
| <TD>Low</TD> |
| </TR> |
| </TABLE></CENTER> |
| |
| |
| <H1>Scheduler Objects</H1> |
| |
| <P>The <CODE>cupsd</CODE> program is the CUPS scheduler process. It manages |
| many interdependent server objects that are used to manage and print files |
| to printers. |
| |
| <P>The following table provides the memory and disk cost associated with each |
| server object. |
| |
| <CENTER><TABLE WIDTH="80%" BORDER="1"> |
| <TR> |
| <TH>Object</TH> |
| <TH>Memory Per</TH> |
| <TH>Disk Per</TH> |
| </TR> |
| <TR> |
| <TD>Browse ACL</TD> |
| <TD>1k</TD> |
| <TD>120</TD> |
| </TR> |
| <TR> |
| <TD>Browse Poll</TD> |
| <TD>24</TD> |
| <TD>80</TD> |
| </TR> |
| <TR> |
| <TD>Browse Relay</TD> |
| <TD>28</TD> |
| <TD>80</TD> |
| </TR> |
| <TR> |
| <TD>Certificate</TD> |
| <TD>76</TD> |
| <TD>32</TD> |
| </TR> |
| <TR> |
| <TD>Class</TD> |
| <TD>9k</TD> |
| <TD>200</TD> |
| </TR> |
| <TR> |
| <TD>Client</TD> |
| <TD>13k</TD> |
| <TD>-</TD> |
| </TR> |
| <TR> |
| <TD>Device</TD> |
| <TD>256</TD> |
| <TD>-</TD> |
| </TR> |
| <TR> |
| <TD>Job</TD> |
| <TD>2k</TD> |
| <TD>1k + size of document files</TD> |
| </TR> |
| <TR> |
| <TD>Location ACL</TD> |
| <TD>1k</TD> |
| <TD>120</TD> |
| </TR> |
| <TR> |
| <TD>MIME Filter</TD> |
| <TD>268</TD> |
| <TD>80</TD> |
| </TR> |
| <TR> |
| <TD>MIME Type</TD> |
| <TD>340</TD> |
| <TD>80</TD> |
| </TR> |
| <TR> |
| <TD>PPD</TD> |
| <TD>200</TD> |
| <TD>656</TD> |
| </TR> |
| <TR> |
| <TD>Printer</TD> |
| <TD>11k</TD> |
| <TD>32k</TD> |
| </TR> |
| </TABLE></CENTER> |
| |
| <EMBED SRC="glossary.shtml"> |
| |
| </BODY> |
| </HTML> |