]>
Commit | Line | Data |
---|---|---|
728d24c7 | 1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> |
2 | <HTML> | |
3 | <HEAD> | |
7159de3d | 4 | <TITLE>CUPS Software Performance Specification</TITLE> |
baee2cec | 5 | <META NAME="author" CONTENT="Easy Software Products"> |
6 | <META NAME="copyright" CONTENT="Copyright 1997-2001, All Rights Reserved"> | |
7 | <META NAME="docnumber" CONTENT="CUPS-SPS-1.1"> | |
8 | <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-8859-1"> | |
9 | <STYLE TYPE="text/css"><!-- | |
7159de3d | 10 | BODY { font-family: serif } |
11 | H1 { font-family: sans-serif } | |
12 | H2 { font-family: sans-serif } | |
13 | H3 { font-family: sans-serif } | |
14 | H4 { font-family: sans-serif } | |
15 | H5 { font-family: sans-serif } | |
16 | H6 { font-family: sans-serif } | |
17 | SUB { font-size: smaller } | |
18 | SUP { font-size: smaller } | |
19 | PRE { font-family: monospace } | |
baee2cec | 20 | --></STYLE> |
728d24c7 | 21 | </HEAD> |
22 | <BODY> | |
7159de3d | 23 | <CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0" WIDTH="431" HEIGHT="511"><BR> |
24 | <H1>CUPS Software Performance Specification</H1></A><BR> | |
728d24c7 | 25 | CUPS-SPS-1.1<BR> |
26 | Easy Software Products<BR> | |
d0e6f0a0 | 27 | Copyright 1997-2001, All Rights Reserved<BR> |
728d24c7 | 28 | </CENTER> |
29 | <HR> | |
30 | <H1 ALIGN="CENTER"><A NAME="CONTENTS">Table of Contents</A></H1> | |
31 | <BR> | |
32 | <BR><B><A HREF="#1">1 Scope</A></B> | |
33 | <UL> | |
34 | <LI><A HREF="#1_1">1.1 Identification</A></LI> | |
35 | <LI><A HREF="#1_2">1.2 System Overview</A></LI> | |
36 | <LI><A HREF="#1_3">1.3 Document Overview</A></LI> | |
37 | </UL> | |
38 | <B><A HREF="#2">2 References</A></B> | |
39 | <UL> | |
40 | <LI><A HREF="#2_1">2.1 CUPS Documentation</A></LI> | |
41 | <LI><A HREF="#2_2">2.2 Other Documents</A></LI> | |
42 | </UL> | |
43 | <B><A HREF="#3">3 Programs</A></B> | |
44 | <BR> | |
45 | <BR><B><A HREF="#4">4 Scheduler Objects</A></B> | |
46 | <BR> | |
47 | <BR><B><A HREF="#5">A Glossary</A></B> | |
48 | <UL> | |
49 | <LI><A HREF="#5_1">A.1 Terms</A></LI> | |
50 | <LI><A HREF="#5_2">A.2 Acronyms</A></LI> | |
51 | </UL> | |
52 | <HR> | |
53 | <H1><A NAME="1">1 Scope</A></H1> | |
54 | <H2><A NAME="1_1">1.1 Identification</A></H2> | |
7159de3d | 55 | <P>This software performance specification provides an analysis of the |
56 | memory, disk, and processor utilitization of each program in the Common | |
57 | UNIX Printing System ("CUPS") Version 1.1.</P> | |
58 | <P>For the purposes of comparison, all figures are for the Linux Intel | |
59 | platform. Memory utilization on other platforms should be similar.</P> | |
728d24c7 | 60 | <H2><A NAME="1_2">1.2 System Overview</A></H2> |
7159de3d | 61 | <P>CUPS provides a portable printing layer for UNIX®-based operating |
62 | systems. It has been developed by<A HREF="http://www.easysw.com"> Easy | |
63 | Software Products</A> to promote a standard printing solution for all | |
64 | UNIX vendors and users. CUPS provides the System V and Berkeley | |
65 | command-line interfaces.</P> | |
66 | <P>CUPS uses the Internet Printing Protocol ("IPP") as the basis for | |
67 | managing print jobs and queues. The Line Printer Daemon ("LPD") Server | |
68 | Message Block ("SMB"), and AppSocket (a.k.a. JetDirect) protocols are | |
69 | also supported with reduced functionality. CUPS adds network printer | |
70 | browsing and PostScript Printer Description ("PPD") based printing | |
71 | options to support real-world printing under UNIX.</P> | |
72 | <P>CUPS also includes a customized version of GNU Ghostscript (currently | |
73 | based off GNU Ghostscript 5.50) and an image file RIP that are used to | |
74 | support non-PostScript printers. Sample drivers for HP and EPSON | |
75 | printers are included that use these filters.</P> | |
728d24c7 | 76 | <H2><A NAME="1_3">1.3 Document Overview</A></H2> |
7159de3d | 77 | <P>This software performance specification is organized into the |
78 | following sections:</P> | |
728d24c7 | 79 | <UL> |
80 | <LI>1 - Scope</LI> | |
81 | <LI>2 - References</LI> | |
82 | <LI>3 - Programs</LI> | |
83 | <LI>4 - Scheduler Objects</LI> | |
84 | <LI>A - Glossary</LI> | |
85 | </UL> | |
86 | <H1><A NAME="2">2 References</A></H1> | |
87 | <H2><A NAME="2_1">2.1 CUPS Documentation</A></H2> | |
7159de3d | 88 | <P>The following CUPS documentation is referenced by this document:</P> |
728d24c7 | 89 | <UL> |
7159de3d | 90 | <LI>CUPS-CMP-1.1: CUPS Configuration Management Plan</LI> |
91 | <LI>CUPS-IDD-1.1: CUPS System Interface Design Description</LI> | |
92 | <LI>CUPS-IPP-1.1: CUPS Implementation of IPP</LI> | |
93 | <LI>CUPS-SAM-1.1.x: CUPS Software Administrators Manual</LI> | |
94 | <LI>CUPS-SDD-1.1: CUPS Software Design Description</LI> | |
95 | <LI>CUPS-SPM-1.1.x: CUPS Software Programming Manual</LI> | |
96 | <LI>CUPS-SSR-1.1: CUPS Software Security Report</LI> | |
97 | <LI>CUPS-STP-1.1: CUPS Software Test Plan</LI> | |
98 | <LI>CUPS-SUM-1.1.x: CUPS Software Users Manual</LI> | |
99 | <LI>CUPS-SVD-1.1: CUPS Software Version Description</LI> | |
728d24c7 | 100 | </UL> |
101 | <H2><A NAME="2_2">2.2 Other Documents</A></H2> | |
7159de3d | 102 | <P>The following non-CUPS documents are referenced by this document:</P> |
728d24c7 | 103 | <UL> |
104 | <LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf"> | |
7159de3d | 105 | Adobe PostScript Printer Description File Format Specification, Version |
106 | 4.3.</A></LI> | |
728d24c7 | 107 | <LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf"> |
7159de3d | 108 | Adobe PostScript Language Reference, Third Edition.</A></LI> |
109 | <LI>IPP: Job and Printer Set Operations</LI> | |
110 | <LI>IPP/1.1: Encoding and Transport</LI> | |
111 | <LI>IPP/1.1: Implementers Guide</LI> | |
112 | <LI>IPP/1.1: Model and Semantics</LI> | |
113 | <LI><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179, Line Printer | |
114 | Daemon Protocol</A></LI> | |
115 | <LI><A HREF="http://www.ietf.org/rfc/rfc2567.txt">RFC 2567, Design Goals | |
116 | for an Internet Printing Protocol</A></LI> | |
117 | <LI><A HREF="http://www.ietf.org/rfc/rfc2568.txt">RFC 2568, Rationale | |
118 | for the Structure of the Model and Protocol</A> for the Internet | |
119 | Printing Protocol</LI> | |
120 | <LI><A HREF="http://www.ietf.org/rfc/rfc2569.txt">RFC 2569, Mapping | |
121 | between LPD and IPP Protocols</A></LI> | |
122 | <LI><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616, Hypertext | |
123 | Transfer Protocol -- HTTP/1.1</A></LI> | |
124 | <LI><A HREF="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617, HTTP | |
125 | Authentication: Basic and Digest Access</A> Authentication</LI> | |
728d24c7 | 126 | </UL> |
127 | <H1><A NAME="3">3 Programs</A></H1> | |
7159de3d | 128 | <P>The following table describes the average memory, disk, and CPU usage |
129 | of each program in CUPS.</P> | |
130 | <P>The base memory column shows the initial memory requirements for each | |
131 | program, including any shared libraries that are provided by CUPS.</P> | |
132 | <P>The max memory column shows the maximum amount of memory that will be | |
133 | used by the program based upon the default configuration settings | |
134 | supplied with CUPS.</P> | |
135 | <P>The temp files column indicates whether any temporary files are | |
136 | created.</P> | |
137 | <P>The CPU usage column specifies a relative CPU usage by the program | |
138 | under normal conditions, either low, medium, or high. Low usage | |
139 | indicates that the program will never use more than 33% of the | |
140 | available CPU time. Medium usage indicates the program will use as much | |
141 | as 66% of the available CPU time. High usage indicates the program uses | |
142 | 66% or more of the available CPU time. | |
728d24c7 | 143 | <CENTER> |
144 | <TABLE BORDER="1" WIDTH="80%"> | |
145 | <TR><TH COLSPAN="3">Backends</TH></TR> | |
7159de3d | 146 | <TR><TH>Program</TH><TH>Base Memory</TH><TH>Max Memory</TH><TH>Temp |
147 | Files</TH><TH>CPU Usage</TH></TR> | |
728d24c7 | 148 | <TR><TD>ipp</TD><TD>91k</TD><TD>256k</TD><TD>Up to size of print file</TD><TD> |
149 | Low</TD></TR> | |
150 | <TR><TD>lpd</TD><TD>89k</TD><TD>89k</TD><TD>Up to size of print file</TD><TD> | |
151 | Low</TD></TR> | |
7159de3d | 152 | <TR><TD>parallel</TD><TD>85k</TD><TD>85k</TD><TD>Up to size of print |
153 | file</TD><TD>Low</TD></TR> | |
728d24c7 | 154 | <TR><TD>serial</TD><TD>85k</TD><TD>85k</TD><TD>Up to size of print file</TD><TD> |
155 | Low</TD></TR> | |
156 | <TR><TD>socket</TD><TD>85k</TD><TD>85k</TD><TD>Up to size of print file</TD><TD> | |
157 | Low</TD></TR> | |
158 | <TR><TD>usb</TD><TD>85k</TD><TD>85k</TD><TD>Up to size of print file</TD><TD> | |
159 | Low</TD></TR> | |
160 | <TR><TH COLSPAN="3">CGIs</TH></TR> | |
7159de3d | 161 | <TR><TH>Program</TH><TH>Base Memory</TH><TH>Max Memory</TH><TH>Temp |
162 | Files</TH><TH>CPU Usage</TH></TR> | |
163 | <TR><TD>admin.cgi</TD><TD>107k</TD><TD>256k</TD><TD>Up to size of PPD | |
164 | file</TD><TD>Medium</TD></TR> | |
728d24c7 | 165 | <TR><TD>classes.cgi</TD><TD>95k</TD><TD>Size of class objects</TD><TD> |
166 | None</TD><TD>Medium</TD></TR> | |
167 | <TR><TD>jobs.cgi</TD><TD>93k</TD><TD>Size of job objects</TD><TD>None</TD><TD> | |
168 | Medium</TD></TR> | |
169 | <TR><TD>printers.cgi</TD><TD>95k</TD><TD>Size of printer objects</TD><TD> | |
170 | None</TD><TD>Medium</TD></TR> | |
171 | <TR><TH COLSPAN="3">Command-Line Programs</TH></TR> | |
7159de3d | 172 | <TR><TH>Program</TH><TH>Base Memory</TH><TH>Max Memory</TH><TH>Temp |
173 | Files</TH><TH>CPU Usage</TH></TR> | |
728d24c7 | 174 | <TR><TD>accept</TD><TD>88k</TD><TD>128k</TD><TD>None</TD><TD>Low</TD></TR> |
175 | <TR><TD>cancel</TD><TD>88k</TD><TD>128k</TD><TD>None</TD><TD>Low</TD></TR> | |
176 | <TR><TD>disable</TD><TD>88k</TD><TD>128k</TD><TD>None</TD><TD>Low</TD></TR> | |
177 | <TR><TD>enable</TD><TD>88k</TD><TD>128k</TD><TD>None</TD><TD>Low</TD></TR> | |
178 | <TR><TD>lp</TD><TD>90k</TD><TD>256k</TD><TD>None</TD><TD>Low</TD></TR> | |
179 | <TR><TD>lpadmin</TD><TD>148k</TD><TD>256k</TD><TD>None</TD><TD>Low</TD></TR> | |
180 | <TR><TD>lpc</TD><TD>86k</TD><TD>Size of job and printer objects</TD><TD> | |
181 | None</TD><TD>Medium</TD></TR> | |
182 | <TR><TD>lpinfo</TD><TD>89k</TD><TD>Size of device and PPD objects</TD><TD> | |
183 | None</TD><TD>Medium</TD></TR> | |
184 | <TR><TD>lpmove</TD><TD>88k</TD><TD>128k</TD><TD>None</TD><TD>Low</TD></TR> | |
185 | <TR><TD>lpoptions</TD><TD>89k</TD><TD>128k</TD><TD>None</TD><TD>Low</TD></TR> | |
186 | <TR><TD>lppasswd</TD><TD>90k</TD><TD>90k</TD><TD>None</TD><TD>Low</TD></TR> | |
187 | <TR><TD>lpq</TD><TD>87k</TD><TD>Size of job objects</TD><TD>None</TD><TD> | |
188 | Medium</TD></TR> | |
189 | <TR><TD>lpr</TD><TD>87k</TD><TD>256k</TD><TD>None</TD><TD>Low</TD></TR> | |
190 | <TR><TD>lprm</TD><TD>84k</TD><TD>128k</TD><TD>None</TD><TD>Low</TD></TR> | |
7159de3d | 191 | <TR><TD>lpstat</TD><TD>119k</TD><TD>Size of job, printer, and class |
192 | objects</TD><TD>None</TD><TD>Medium</TD></TR> | |
728d24c7 | 193 | <TR><TD>reject</TD><TD>88k</TD><TD>128k</TD><TD>None</TD><TD>Low</TD></TR> |
194 | <TR><TH COLSPAN="3">Daemons</TH></TR> | |
7159de3d | 195 | <TR><TH>Program</TH><TH>Base Memory</TH><TH>Max Memory</TH><TH>Temp |
196 | Files</TH><TH>CPU Usage</TH></TR> | |
197 | <TR><TD>cups-lpd</TD><TD>92k</TD><TD>256k</TD><TD>One file per control | |
198 | or data file from client</TD><TD>Low</TD></TR> | |
728d24c7 | 199 | <TR><TD>cupsd</TD><TD>308k</TD><TD>See Scheduler Requirements</TD><TD> |
200 | See Scheduler Requirements</TD><TD>Medium</TD></TR> | |
201 | <TR><TD>cups-polld</TD><TD>84k</TD><TD>Size of printer and class objects</TD><TD> | |
202 | None</TD><TD>Low</TD></TR> | |
203 | <TR><TH COLSPAN="3">Filters</TH></TR> | |
7159de3d | 204 | <TR><TH>Program</TH><TH>Base Memory</TH><TH>Max Memory</TH><TH>Temp |
205 | Files</TH><TH>CPU Usage</TH></TR> | |
728d24c7 | 206 | <TR><TD>hpgltops</TD><TD>263k</TD><TD>320k</TD><TD>None</TD><TD>Medium</TD> |
207 | </TR> | |
7159de3d | 208 | <TR><TD>imagetops</TD><TD>628k</TD><TD>10M</TD><TD>Swap file for |
209 | uncompressed image data</TD><TD>Medium</TD></TR> | |
210 | <TR><TD>imagetoraster</TD><TD>652k</TD><TD>10M</TD><TD>Swap file for | |
211 | uncompressed image data</TD><TD>High</TD></TR> | |
212 | <TR><TD>pstops</TD><TD>775k</TD><TD>840k</TD><TD>Up to size of print | |
213 | file</TD><TD>Medium</TD></TR> | |
214 | <TR><TD>pstoraster</TD><TD>4M</TD><TD>14M</TD><TD>Swap file for command | |
215 | lists</TD><TD>High</TD></TR> | |
728d24c7 | 216 | <TR><TD>rastertoepson</TD><TD>693k</TD><TD>1M</TD><TD>None</TD><TD>Low</TD> |
217 | </TR> | |
218 | <TR><TD>rastertohp</TD><TD>690k</TD><TD>1M</TD><TD>None</TD><TD>Low</TD></TR> | |
219 | <TR><TD>texttops</TD><TD>638k</TD><TD>4*cols*rows</TD><TD>None</TD><TD> | |
220 | Low</TD></TR> | |
221 | </TABLE> | |
222 | </CENTER> | |
223 | </P> | |
224 | <H1><A NAME="4">4 Scheduler Objects</A></H1> | |
7159de3d | 225 | <P>The <CODE>cupsd</CODE> program is the CUPS scheduler process. It |
226 | manages many interdependent server objects that are used to manage and | |
227 | print files to printers.</P> | |
228 | <P>The following table provides the memory and disk cost associated with | |
229 | each server object. | |
728d24c7 | 230 | <CENTER> |
231 | <TABLE BORDER="1" WIDTH="80%"> | |
232 | <TR><TH>Object</TH><TH>Memory Per</TH><TH>Disk Per</TH></TR> | |
233 | <TR><TD>Browse ACL</TD><TD>1k</TD><TD>120</TD></TR> | |
234 | <TR><TD>Browse Poll</TD><TD>24</TD><TD>80</TD></TR> | |
235 | <TR><TD>Browse Relay</TD><TD>28</TD><TD>80</TD></TR> | |
236 | <TR><TD>Certificate</TD><TD>76</TD><TD>32</TD></TR> | |
237 | <TR><TD>Class</TD><TD>9k</TD><TD>200</TD></TR> | |
238 | <TR><TD>Client</TD><TD>13k</TD><TD>-</TD></TR> | |
239 | <TR><TD>Device</TD><TD>256</TD><TD>-</TD></TR> | |
240 | <TR><TD>Job</TD><TD>2k</TD><TD>1k + size of document files</TD></TR> | |
241 | <TR><TD>Location ACL</TD><TD>1k</TD><TD>120</TD></TR> | |
242 | <TR><TD>MIME Filter</TD><TD>268</TD><TD>80</TD></TR> | |
243 | <TR><TD>MIME Type</TD><TD>340</TD><TD>80</TD></TR> | |
244 | <TR><TD>PPD</TD><TD>200</TD><TD>656</TD></TR> | |
245 | <TR><TD>Printer</TD><TD>11k</TD><TD>32k</TD></TR> | |
246 | </TABLE> | |
247 | </CENTER> | |
248 | </P> | |
249 | <H1 TYPE="A" VALUE="1"><A NAME="5">A Glossary</A></H1> | |
250 | <H2><A NAME="5_1">A.1 Terms</A></H2> | |
251 | <DL> | |
7159de3d | 252 | <DT>C</DT> |
253 | <DD>A computer language.</DD> | |
254 | <DT>parallel</DT> | |
255 | <DD>Sending or receiving data more than 1 bit at a time.</DD> | |
256 | <DT>pipe</DT> | |
257 | <DD>A one-way communications channel between two programs.</DD> | |
258 | <DT>serial</DT> | |
259 | <DD>Sending or receiving data 1 bit at a time.</DD> | |
260 | <DT>socket</DT> | |
261 | <DD>A two-way network communications channel.</DD> | |
728d24c7 | 262 | </DL> |
263 | <H2><A NAME="5_2">A.2 Acronyms</A></H2> | |
264 | <DL> | |
7159de3d | 265 | <DT>ASCII</DT> |
266 | <DD>American Standard Code for Information Interchange</DD> | |
267 | <DT>CUPS</DT> | |
268 | <DD>Common UNIX Printing System</DD> | |
269 | <DT>ESC/P</DT> | |
270 | <DD>EPSON Standard Code for Printers</DD> | |
271 | <DT>FTP</DT> | |
272 | <DD>File Transfer Protocol</DD> | |
273 | <DT>HP-GL</DT> | |
274 | <DD>Hewlett-Packard Graphics Language</DD> | |
275 | <DT>HP-PCL</DT> | |
276 | <DD>Hewlett-Packard Page Control Language</DD> | |
277 | <DT>HP-PJL</DT> | |
278 | <DD>Hewlett-Packard Printer Job Language</DD> | |
279 | <DT>IETF</DT> | |
280 | <DD>Internet Engineering Task Force</DD> | |
281 | <DT>IPP</DT> | |
282 | <DD>Internet Printing Protocol</DD> | |
283 | <DT>ISO</DT> | |
284 | <DD>International Standards Organization</DD> | |
285 | <DT>LPD</DT> | |
286 | <DD>Line Printer Daemon</DD> | |
287 | <DT>MIME</DT> | |
288 | <DD>Multimedia Internet Mail Exchange</DD> | |
289 | <DT>PPD</DT> | |
290 | <DD>PostScript Printer Description</DD> | |
291 | <DT>SMB</DT> | |
292 | <DD>Server Message Block</DD> | |
293 | <DT>TFTP</DT> | |
294 | <DD>Trivial File Transfer Protocol</DD> | |
728d24c7 | 295 | </DL> |
296 | </BODY> | |
297 | </HTML> |