可视化Haskell heap 配置文件

分享于 

2分钟阅读

Haskell

  繁體

在这里,我回顾了现有工具,并介绍了一个新工具,用于可视化和分析这些配置文件。

hp2ps

hp2ps是标准heap profile文件可视化工具,因为它与GHC捆绑在一起。

hp2ps -c benchmark.hp

-c将输出设置为彩色),它生成文件benchmark.ps,你可以使用许多文档查看器打开该文件。

以下是输出的内容:

hp2ps生成的示例图

hp2ps在缺省情况下不能很好地处理长内容(或其他长标识符):整个页面将被标识符填充,并且没有空间留给图形本身,为了解决这个问题,将-M传递给hp2ps,它会生成一个两页的.ps文件,第一页是图例,第二页是图形。

我发现像Okular和Evince这样的查看器只显示两页的.ps文件的第二页,但如果你首先使用ps2pdf将输出转换为pdf格式,它就可以工作了,以下是输出的内容:

来自hp2ps -M的两页输出

hp2pretty

Claude hp2pretty Heiland-Allen比hp2ps有几个优点:使用透明度和网格线,截断长内容,

简单地运行

hp2pretty benchmark.hp

它生成一个benchmark.svg的文件。

hp2pretty的例子输出

hp/D3.js

Edward Z.Yang的hp/D3.js是一个可视化Haskellheap profile文件的在线工具,heap.ezyang.com在GitHub上有一个托管版本hpd3js

托管版本的缺点是,你必须将heap profile文件上载到服务器,

hp/D3.js提供了三种不同风格漂亮图形的选择,如下所示,有一些很酷的交互特性,比如当你悬停图形的相应部分时,条目的名称或调用heap被突出显示。

hp/d3.js :堆叠图hp/d3. js :标准化堆积图hp/d3.js :叠加面积图


vis  Haskell  Profile  Profiles  HEAP  
相关文章