hp2ps - convert a heap profile to a POSTSCRIPT graph
hp2ps [flags] [file][.hp]
The program hp2ps converts a heap profile stored in
file into a POSTSCRIPT graph, sending the result to file.ps.
By convention, files to be processed by hp2ps have a .hp
extension. However, for compatibility with older versions of hp2ps,
this extension can be omitted. If file is omitted entirely, then the
program behaves as a filter.
The flags are:
- -d
- In order to make graphs more readable, hp2ps sorts the shaded bands
for each identifier. The default sort ordering is for the bands with the
largest area to be stacked on top of the smaller ones. The -d
option causes rougher bands (those representing series of values with the
largest standard deviations) to be stacked on top of smoother ones.
- -b
- Normally, hp2ps puts the title of the graph in a small box at the
top of the page. However, if the JOB string is too long to fit in a small
box (more than 35 characters), then hp2ps will choose to use a big
box instead. The -b option forces hp2ps to use a big
box.
- -e
float[in|mm|pt]
- Generate encapsulated POSTSCRIPT suitable for inclusion in LaTeX
documents. Usually, the POSTSCRIPT graph is drawn in landscape mode in an
area 9 inches wide by 6 inches high, and hp2ps arranges for this
area to be approximately centered on a sheet of a4 paper. This format is
convenient of studying the graph in detail, but it is unsuitable for
inclusion in LaTeX documents. The -e option causes the graph to be
drawn in portrait mode, with float specifying the width in inches,
millimetres or points (the default). The resulting POSTSCRIPT file
conforms to the Encapsulated Post Script (EPS) convention, and it
can be included in a LaTeX document using Rokicki's dvi-to-POSTSCRIPT
converter dvips. hp2ps requires the width to exceed 2
inches.
- -g
- Create output suitable for the gs POSTSCRIPT previewer (or
similar). In this case the graph is printed in portrait mode without
scaling. The output is unsuitable for a laser printer.
- -p
- Use previous parameters. By default, the POSTSCRIPT graph is automatically
scaled both horizontally and vertically so that it fills the page.
However, when preparing a series of graphs for use in a presentation, it
is often useful to draw a new graph using the same scale, shading and
ordering as a previous one. The -p flag causes the graph to be
drawn using the parameters determined by a previous run of hp2ps on
file.
- -s
- Use a small box for the title.
- -y
- Draw the graph in the traditional York style, ignoring marks.
- -c
- Use colours in the rendering of the graphs.
- -?
- Print out usage information.
The format of a heap profile is best described by example:
JOB "a.out -p"
DATE "Fri Apr 17 11:43:45 1992"
SAMPLE_UNIT "seconds"
VALUE_UNIT "bytes"
BEGIN_SAMPLE 0.00
SYSTEM 24
END_SAMPLE 0.00
BEGIN_SAMPLE 1.00
elim 180
insert 24
intersect 12
disin 60
main 12
reduce 20
SYSTEM 12
END_SAMPLE 1.00
MARK 1.50
MARK 1.75
MARK 1.80
BEGIN_SAMPLE 2.00
elim 192
insert 24
intersect 12
disin 84
main 12
SYSTEM 24
END_SAMPLE 2.00
BEGIN_SAMPLE 2.82
END_SAMPLE 2.82
dvips(1), latex(1), hbchp (1), lmlchp(1)
C. Runciman and D. Wakeling, Heap Profiling for Lazy Functional Languages,
YCS-172, University of York, 1992
POSTSCRIPT is a registered trademark of Adobe Systems
Incorporated.
David Wakeling of the University of York.