Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 内联重复呼叫(GHC)_Haskell_Optimization_Ghc_Inlining - Fatal编程技术网

Haskell 内联重复呼叫(GHC)

Haskell 内联重复呼叫(GHC),haskell,optimization,ghc,inlining,Haskell,Optimization,Ghc,Inlining,GHC是否会内联一个被多次使用的函数?例如: {-# INLINE innerLoop #-} innerLoop x = stuff... g f = f 0 + f 1 + f 2 如果我们调用g innerLoop,函数innerLoop会被复制三次吗?或者它会变成g东西… 我们怎样才能强制innerLoop内联多次,或者阻止它内联多次呢?我也想内联g。此外,检查GHC核心输出以了解发生了什么。最重要的是,分析所有内容以检查此内联非常重要。

GHC是否会内联一个被多次使用的函数?例如:

{-# INLINE innerLoop #-}
innerLoop x = stuff...

g f = 
    f 0 + f 1 + f 2
如果我们调用
g innerLoop
,函数
innerLoop
会被复制三次吗?或者它会变成
g东西…


我们怎样才能强制
innerLoop
内联多次,或者阻止它内联多次呢?

我也想内联
g
。此外,检查GHC核心输出以了解发生了什么。最重要的是,分析所有内容以检查此内联非常重要。