Scope

Identification

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.1.

For the purposes of comparison, all figures are for the Linux Intel platform. Memory utilization on other platforms should be similar.

Document Overview

This software performance specification is organized into the following sections:

Programs

The following table describes the average memory, disk, and CPU usage of each program in CUPS.

The base memory column shows the initial memory requirements for each program, including any shared libraries that are provided by CUPS.

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.

The temp files column indicates whether any temporary files are created.

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.

Backends
Program Base Memory Max Memory Temp Files CPU Usage
ipp 91k 256k Up to size of print file Low
lpd 89k 89k Up to size of print file Low
parallel 85k 85k Up to size of print file Low
serial 85k 85k Up to size of print file Low
socket 85k 85k Up to size of print file Low
usb 85k 85k Up to size of print file Low
CGIs
Program Base Memory Max Memory Temp Files CPU Usage
admin.cgi 107k 256k Up to size of PPD file Medium
classes.cgi 95k Size of class objects None Medium
jobs.cgi 93k Size of job objects None Medium
printers.cgi 95k Size of printer objects None Medium
Command-Line Programs
Program Base Memory Max Memory Temp Files CPU Usage
accept 88k 128k None Low
cancel 88k 128k None Low
disable 88k 128k None Low
enable 88k 128k None Low
lp 90k 256k None Low
lpadmin 148k 256k None Low
lpc 86k Size of job and printer objects None Medium
lpinfo 89k Size of device and PPD objects None Medium
lpmove 88k 128k None Low
lpoptions 89k 128k None Low
lppasswd 90k 90k None Low
lpq 87k Size of job objects None Medium
lpr 87k 256k None Low
lprm 84k 128k None Low
lpstat 119k Size of job, printer, and class objects None Medium
reject 88k 128k None Low
Daemons
Program Base Memory Max Memory Temp Files CPU Usage
cups-lpd 92k 256k One file per control or data file from client Low
cupsd 308k See Scheduler Requirements See Scheduler Requirements Medium
cups-polld 84k Size of printer and class objects None Low
Filters
Program Base Memory Max Memory Temp Files CPU Usage
hpgltops 263k 320k None Medium
imagetops 628k 10M Swap file for uncompressed image data Medium
imagetoraster 652k 10M Swap file for uncompressed image data High
pstops 775k 840k Up to size of print file Medium
pstoraster 4M 14M Swap file for command lists High
rastertoepson 693k 1M None Low
rastertohp 690k 1M None Low
texttops 638k 4*cols*rows None Low

Scheduler Objects

The cupsd program is the CUPS scheduler process. It manages many interdependent server objects that are used to manage and print files to printers.

The following table provides the memory and disk cost associated with each server object.

Object Memory Per Disk Per
Browse ACL 1k 120
Browse Poll 24 80
Browse Relay 28 80
Certificate 76 32
Class 9k 200
Client 13k -
Device 256 -
Job 2k 1k + size of document files
Location ACL 1k 120
MIME Filter 268 80
MIME Type 340 80
PPD 200 656
Printer 11k 32k