相关疑难解决方法(0)

阅读GHC核心

核心是GHC的中间语言.阅读核心可以帮助您更好地了解您的计划的性能.有人问我关于阅读Core的文档或教程,但我找不到多少.

有哪些文档可供阅读GHC Core?

这是我到目前为止所发现的:

compiler-construction performance haskell ghc

190
推荐指数
3
解决办法
2万
查看次数

有没有办法内联递归函数?

这是我之前的一个问题的后续问题,我在其中询问为什么流融合不是在某个程序中踢.结果证明问题在于某些函数没有内联,并且一个INLINE标志通过about改进了性能17x(这表明了内联的重要性!).

现在,请注意,在最初的问题上,我立刻硬编码64incAll.现在,假设我创建了一个nTimes函数,它重复调用一个函数:

module Main where

import qualified Data.Vector.Unboxed as V

{-# INLINE incAll #-}
incAll :: V.Vector Int -> V.Vector Int
incAll = V.map (+ 1)

{-# INLINE nTimes #-}
nTimes :: Int -> (a -> a) -> a -> a
nTimes 0 f x = x
nTimes n f x = f (nTimes (n-1) f x)

main :: IO ()
main = do
  let size …
Run Code Online (Sandbox Code Playgroud)

haskell

18
推荐指数
2
解决办法
3633
查看次数

标签 统计

haskell ×2

compiler-construction ×1

ghc ×1

performance ×1