[comp.periphs.printers] PostScript Timings Wanted

woo@pioneer.arc.nasa.gov (Alex Woo RAA) (04/23/91)

Several days ago a co-worker asked of PostScript benchmark
summaries on Laser Printers.  The result was underwhelming.
Therefore I am posting a simple PostScript file which
determines what fonts are available, what memory is available,
and the time to print a wheel of text.  We would have run
this file through two kinds of LaserWriters, a DEC LPS40,
NeXT '30 Printer, and NeWS psview.  If you have a different
printer, we would appreciate it if you would print  or
preview the page and E-mail the timing number to
carmicha@pioneer.arc.nasa.gov.  We are particularly interested
in the new generation of printers such as the LJ IIIsi or
Kodak 716PS. 

Thanks.
woo@ames.arc.nasa.gov

%! PS-Adobe
%% Laser Doctor, Version 1.0.0
%% Written by Jim Sullivan, January, 1989.
%% This was written out of a need to display as much information
%% about various Postscript Laserprinters onto one page.  More
%% can be added and anyone is free to modify it for their own
%% needs.

gsave

%% Beginning of definitions ********************************

/HB  {/Helvetica-Bold} def
/CBO {/Courier-BoldOblique} def
/C   {/Courier} def
/FF  {findfont} def
/SS  {scalefont setfont} def
/mt  {moveto} def
/s   {show} def
/fontname 30 string def
/getfont {pop fntnm cvs /fontname exch def} def
/fntnm 30 string def
/str 20 string def
/BOLD {CBO FF 10 SS} def
/NORMAL {C FF 10 SS} def
/cnt 0 def
/btime 0 def
/circleofbench
        { 15 15 345
            {gsave
               rotate 0 0 mt
               (Benchmark) oshow
             grestore
            } for
        } def
/oshow {true charpath stroke} def

%% End of definitions *****************************************

BOLD
200 756 mt
(Analysis by Doctor Laser, Version 1.0.0) s      %Print title
20 720 mt
NORMAL (This printer is a ) s
BOLD statusdict/product get str cvs s          %Gets the name of the
NORMAL ( running version ) s                   %printer from
BOLD version str cvs s                         %statusdict/product
NORMAL ( of Postscript.) s                     %and the version number
20 700 translate                               %of Postscript from the
                                               %'version' command
0 0 mt
(Available Fonts : (PaintType)FontName:Example of font) s   %Heading
0 -10 mt
(PaintType = 0\(filled\), 1\(stroked\), 2\(outlined\),) s
0 -20 mt
(            3\(mixed\), ?\(unknown\)) s
0 -30 translate

BOLD
FontDirectory {BOLD 0 0 mt                      %Push directory of fonts and
getfont                                         %get the fonts one at a time.
(\() s
{fontname cvn FF /PaintType get str cvs s} stopped {%ifelse
(?) s } {} ifelse              %Get the font's PaintType and print its value,
(\)) s                         %or if it is not supplied, print a '?'.

fontname s                     %Print the name of the font.

mark
fontname length 1 30 {(-) s} for   %Print dashes out to the font sample column.
(:) s                              %Print a colon.

{fontname cvn FF 10 SS ( ABCDEFGH abcdefgh) s } stopped {%ifelse
NORMAL (Error implementing font) s } {} ifelse      %Show a sample of each
cleartomark                                         %font.  If an error is
cnt 10 add                                          %trapped, print message
/cnt exch def                                       %indicating an error
0 -10 translate} forall                             %occurred.  Use the
NORMAL                                              %variable 'cnt' to count
cnt 30 add /cnt exch def                            %the number of fonts.

350 cnt mt                       %Move back up the page 'cnt' points.
(Virtual Memory Status:) s       %Print the Virtual Memory Status
0 0 translate                    %using 'vmstatus'.
370 cnt 20 sub mt
(Maximum Available Bytes = ) s BOLD vmstatus str cvs s NORMAL
370 cnt 30 sub mt
(Bytes currently in use  = ) s BOLD str cvs s NORMAL
370 cnt 40 sub mt
(Level of Save Nesting   = ) s BOLD str cvs s NORMAL
350 cnt 60 sub mt

(Cache status \(Red book p126\):) s  %Print out the cache status.
cachestatus
370 cnt 80 sub mt NORMAL (blimit = ) s BOLD str cvs s
370 cnt 90 sub mt NORMAL (  cmax = ) s BOLD str cvs s
370 cnt 100 sub mt NORMAL ( csize = ) s BOLD str cvs s
370 cnt 110 sub mt NORMAL (  mmax = ) s BOLD str cvs s
370 cnt 120 sub mt NORMAL ( msize = ) s BOLD str cvs s
370 cnt 130 sub mt NORMAL (  bmax = ) s BOLD str cvs s
370 cnt 140 sub mt NORMAL ( bsize = ) s BOLD str cvs s

usertime /btime exch def                %Print a graphic (circleofbench)
HB FF 12 SS                             %and time how long it takes for
430 cnt 230 sub translate               %the printer to interpret it.
.5 setlinewidth
circleofbench
0 0 moveto
(Benchmark Testing) true charpath
gsave 1 setgray fill grestore
stroke
-40 -80 mt
NORMAL
(Time to print) s
-40 -90 mt
(the above graphic) s
-40 -100 mt
(was ) s
BOLD
usertime btime sub 0.001 mul str cvs s  %Print out the time in seconds.
NORMAL
( seconds.) s
-40 -210 mt
( Please mail this page to)s
-40 -220 mt
( Ralph Carmichael ) s
-40 -230 mt
( MS 227-2) s
-40 -240 mt
( NASA Ames Research Center) s
-40 -250 mt
( Moffett Field, CA 94035-1000) s
-40 -260 mt
( carmicha@pioneer.arc.nasa.gov) s
grestore
showpage



========================================================================
Alex Woo, MS 227-6                         woo@ames.arc.nasa.gov
NASA Ames Research Center           __o    NASAMAIL      ACWOO
Moffett Field, CA 94035-1000       -\<,    SPANET        24582::WOO
(415) 604-6010 (FAX) 604-4357 .....O/ O   {hplabs,decwrl,uunet}!ames!woo
========================================================================