3

分析在 Haskell 的解析器组合库中编写的解析器的标准方法是什么?

我目前正在使用uu-parsinglib,但我很想知道分析其他解析器组合库的方法,如Parsec.

现在我已经编写了我的解析器,它很慢并且占用了很多内存(对于 600 行输入文本,解析超过 1Gb 的内存大约需要 5 秒,我想研究如何改进它)

4

1 回答 1

2

尝试堆分析:

$ ./prog +RTS -K128M -hc -p 
$ hp2ps -c prog.hp

如果配置文件看起来像一座山并且以兆字节为单位,那么您可能首先构建一个大型数据结构然后对其进行缩减(然后可以考虑使用累加器或记忆)。

更详细的信息:http ://book.realworldhaskell.org/read/profiling-and-optimization.html

于 2013-08-28T21:01:12.387 回答