小编ham*_*a B的帖子

Haskell 列表创建和串联性能

在使用 haskell 并为项目 euler n\xc2\xb040 寻找解决方案的过程中,我发现这段代码非常快:

\n\n
 p = concat [show n | n <- [1..]]\ndl x = p !! x\n\ny = [10^a - 1| a<-[0..6]]\ns = [digitToInt (dl b)::Int | b <-y]\n
Run Code Online (Sandbox Code Playgroud)\n\n

但这非常慢,慢了几百万倍

\n\n
p = foldl1 (++) (map show [1..1000000])\ndl x = p !! x\n\ny = [10^a - 1| a<-[0..6]]\ns = [digitToInt (dl b)::Int | b <-y]\n
Run Code Online (Sandbox Code Playgroud)\n\n

有人可以向我解释为什么吗?谢谢

\n

performance haskell list

3
推荐指数
1
解决办法
1253
查看次数

标签 统计

haskell ×1

list ×1

performance ×1