使用`derived`关键字

时间:2015-07-08 18:27:49

标签: haskell profiling ghc

我正在尝试优化Haskell程序。在分析器输出中,我发现在compare==函数中花费了大量时间。但是,GHC分析器并不能告诉我任何更多功能的模块名称。我猜这些是GHC生成的函数,使用派生EqOrd。我想知道是否有一种简单的方法来确定实际问题的位置。例如,使用 这些功能{-# SCC "more-specific-name" #-}

1 个答案:

答案 0 :(得分:4)

使用-ddump-deriv转出GHC生成的实际派生实例的代码,然后获取代码并将其放在您自己明确定义的函数下。然后显式派生实例并将它们指向您的函数。