The hp2pretty package

[Tags: bsd3, program]

hp2pretty is a rewrite of hp2ps, implemented in Haskell, with the aims of being maintainable, with more flexible output, and more beautiful output. Currently hp2pretty outputs Scalable Vector Graphics (SVG) only, though PostScript (PS) is planned. Also none (count'em) of hp2ps' options are implemented yet in hp2pretty.

In hp2pretty-0.6 ByteString is replaced by Text, fixing bugs with Unicode.

In hp2pretty-0.5 using attoparsec and floatshow internally should give a healthy speedup.

In hp2pretty-0.4 usage changed since the previous release:

hp2pretty *.hp

hp2pretty --uniform-scale=time *.hp

hp2pretty --uniform-scale=memory *.hp

hp2pretty --uniform-scale=both *.hp

Colours also changed: now they are based on a hash of the cost label, which should make colours have stable semantics across program runs.


[Skip to ReadMe]

Properties

Versions0.1, 0.2, 0.3, 0.4, 0.5, 0.6
Change logNone available
Dependenciesarray, attoparsec, base (==4.*), containers, filepath, floatshow, mtl, text [details]
LicenseBSD3
Copyright(C) 2010,2011,2015 Claude Heiland-Allen
AuthorClaude Heiland-Allen
Maintainerclaude@mathr.co.uk
CategoryDevelopment
Home pagehttp://code.mathr.co.uk/hp2pretty
Source repositoryhead: git clone http://code.mathr.co.uk/hp2pretty.git
this: git clone http://code.mathr.co.uk/hp2pretty.git(tag v0.6)
Executableshp2pretty
UploadedWed Apr 8 17:21:31 UTC 2015 by ClaudeHeilandAllen
DistributionsNixOS:0.6
Downloads947 total (49 in last 30 days)
Votes
0 []
StatusDocs not available [build log]
Last success reported on 2015-05-19 [all 2 reports]

Downloads

Maintainers' corner

For package maintainers and hackage trustees

Readme for hp2pretty-0.6

hp2pretty
=========

hp2ps is a tool to generate PostScript graphs of Heap Profiles.
hp2pretty is a rewrite of hp2ps, implemented in Haskell, with
the aims of being maintainable, with more flexible output, and
more beautiful output.  Currently hp2pretty outputs Scalable
Vector Graphics (SVG) only, though PostScript (PS) is planned.
Also none (count'em) of hp2ps' options are implemented yet in
hp2pretty.


Benchmarks
==========

hp2pretty-0.1
-------------

$ wc in.hp
 1484749  2969502 37406420 in.hp

$ time hp2pretty <in.hp >out.svg
real 0m38.786s 0m39.423s 0m38.674s
user 0m38.120s 0m38.800s 0m38.110s
sys  0m00.360s 0m00.250s 0m00.400s

$ time hp2ps <in.hp >out.ps
real 0m38.474s 0m38.765s 0m38.017s
user 0m38.350s 0m38.200s 0m37.860s
sys  0m00.090s 0m00.140s 0m00.150s

(hp2pretty compiled with "ghc -O2 --make")

Essentially identical runtime!

Memory usage from 'top':
hp2pretty ~275M
hp2ps      ~50M

Tests were run on 64bit GNU/Linux with ghc-6.12.3.


hp2pretty-0.2
-------------

"in.hp"     time (seconds)       memory (bytes)
(bytes)   hp2pretty    hp2ps   hp2pretty   hp2ps
    37M      33.345   36.430         64M     25M
   1.3M       1.015    0.074        2.2M    1.0M
    47k       0.058    0.005        210k     60k

Time is real time averaged over 3 runs as measured by 'bash'.
Memory is peak usage as measured by 'valgrind --tool=massif'.

hp2pretty compiled via cabal-install with 'ghc -O --make'.

Tests were run on 64bit GNU/Linux with ghc-6.12.3.