---
name: "hp2ps"
section: "1"
platform: "linux"
package: "ghc"
version: "9.6.6-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/hp2ps"
---

# hp2ps(1)

convert a heap profile to a POSTSCRIPT graph

## NAME

hp2ps - convert a heap profile to a POSTSCRIPT graph

## SYNOPSIS

**hp2ps** \[flags\] \[file\]\[.hp\]

## DESCRIPTION

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.

## OPTIONS

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.

## 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

`POSTSCRIPT is a registered trademark of Adobe Systems Incorporated.`

## AUTHOR

`David Wakeling of the University of York. `
