为什么Haskell要求所有库都要进行性能分析以进行性能分析?

时间:2014-11-30 04:02:47

标签: haskell profiling ghc

Profile Haskell without installing installing profiling libraries for all dependencies
A :你不能。只需安装它们,问题是什么?

为什么?

如果我只想描述我的代码,将库调用视为无操作分析,为什么它不允许部分分析?如果存在大量已安装的依赖项,则启用分析可能会非常棘手。虽然不太准确,但应该更容易。

1 个答案:

答案 0 :(得分:1)

我的理解是,当您要求GHC编译用于分析的代码时,代码的二进制接口会发生变化。 (并且它也与RTS的不同版本相关联。)由于同一程序中的所有代码必须具有相同的二进制接口......那么,这就是原因。

为避免这种情况,GHC必须支持在同一程序中混合使用不同的二进制接口,或者找到一种使用与非配置代码相同的接口编译配置文件代码的方法。我想这些事情都不是特别微不足道。

我确实同意非常令人讨厌,但是......