## NAME

hp2ps - convert a heap profile to a *(PS graph

## SYNOPSIS

hp2ps [flags] [file][.hp]

## DESCRIPTION

The program hp2ps converts a heap profile stored in file into a *(PS 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.

## OPTIONS

The flags are:

\fB-d\fP

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 reprsenting series of values with the largest standard deviations) to be stacked on top of smoother ones.

\fB-b\fP

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.

\fB-e\fP \fIfloat\fP[in|mm|pt]

Generate encapsulated *(PS suitable for inclusion in LaTeX documents. Usually, the *(PS 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 *(PS file conforms to the Encapsulated Post Script (EPS) convention, and it can be included in a LaTeX document using Rokicki's dvi-to-*(PS converter dvips. hp2ps requires the width to exceed 2 inches.

\fB-g\fP

Create output suitable for the gs *(PS previewer (or similar). In this case the graph is printed in portrait mode without scaling. The output is unsuitable for a laser printer.

\fB-p\fP

Use previous parameters. By default, the *(PS graph is automatically scaled both horizontally and vertically so that it fills the page. However, when preparing a seires 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.

\fB-s\fP

Use a small box for the title.

\fB-y\fP

Draw the graph in the traditional York style, ignoring marks.

\fB-?\fP

Print out usage information.

## INPUT FORMAT

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

## SEE ALSO

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

## NOTES

*(PS is a registered trademark of Adobe Systems Incorporated.

## AUTHOR

David Wakeling of the University of York.