小编Jor*_*dan的帖子

在GHC Haskell中何时自动记忆?

我无法弄清楚为什么m1显然被记忆,而m2不在下面:

m1      = ((filter odd [1..]) !!)

m2 n    = ((filter odd [1..]) !! n)
Run Code Online (Sandbox Code Playgroud)

m1 10000000在第一次调用时大约需要1.5秒,而后续调用需要一小部分(大概是缓存列表),而m2 10000000总是花费相同的时间(每次调用重建列表).知道发生了什么事吗?关于GHC是否以及何时会记忆功能,是否有任何经验法则?谢谢.

haskell memoization ghc

106
推荐指数
3
解决办法
9781
查看次数

标签 统计

ghc ×1

haskell ×1

memoization ×1