使用`derivation`关键字分析GHC生成的函数
我正在尝试优化一个Haskell程序。 在剖析器输出中,我看到compare
和==
函数花费了大量时间。 但是,GHC分析器没有告诉我任何超过这些函数的模块名称。 我想这些是使用派生Eq
和Ord
生成的GHC函数。 我想知道是否有一种简单的方法来查明实际问题在哪里。 例如,对这些函数使用{-# SCC "more-specific-name" #-}
。
使用-ddump-deriv
转储GHC生成的实际派生实例的代码,然后获取代码并将其放在您自己明确定义的函数下。 然后明确地派生实例并将它们指向你的函数。
上一篇: Profiling GHC generated functions with `deriving` keyword