什么是最好的Haskell库来使程序可运行?
|
关闭。这个问题是题外话。它当前不接受答案。
没有找到相关结果
已邀请:
3 个回复
棠媳鳖
您也可以采用机器可读的格式:
理想情况下,您可以通过套接字连接到正在运行的GHC运行时,并以交互方式查看这些GC统计信息,但是目前这并不是一件容易的事(需要将FFI绑定到\“ rts / Stats.h \”接口)。您可以使用
附加到进程并监视GC和线程行为。 类似的标志可用于增量的,记录的时间和空间分析,可用于监视(例如,这些图可以增量构建)。
通过
类型收集了大量有关程序执行的统计信息,并且人们编写了可以按时间记录执行代码的工具。 是可配置的,理想情况下是通过这样的系统进行的:该系统允许更新正在运行的程序中配置的属性,而无需重新启动所述程序。 有几种工具可用于此,您可以执行xmonad样式的状态重新加载;或通过
*软件包或
进行代码热交换。其中一些比其他更具实验性。 可复制的部署 Galois最近发布了“ѭ8”,这是一种用于进行可复制构建的工具(即,对范围进行了限定和控制)。
穗揣
混侩闯空坷
的扩展版本 这些都针对代码质量。 作为编码实践,请避免使用惰性IO。如果您需要流式IO,请使用iteratee库之一,例如枚举器。如果您查看“黑客”,则会看到类似http-enumerator的库,它们对HTTP请求使用枚举器样式。 至于选择黑客库,有时可以帮助查看有多少软件包依赖于某些东西。轻松查看您可以使用此网站的软件包的反向依赖性,该软件包反映了黑客行为: http://bifunctor.homelinux.net/~roel/hackage/packages/archive/revdeps-list.html 如果您的应用程序最终执行紧密循环(例如处理许多请求的Web服务器),则惰性可能是空间泄漏形式的问题。通常,这是在正确的位置添加严格性注释的问题。剖析,经验和阅读核心是我所知与这种事情作斗争的主要技术。我知道的最好的性能分析参考是《真实世界》 Haskell的第25章。