
16 Dec
2007
16 Dec
'07
5:46 p.m.
rl:
Don Stewart wrote:
cnt :: B.ByteString -> Int64 cnt bs = B.length (B.filter (== ' ') bs)
[...]
Now, this memory result is suspicious, I wonder if the now obsolete 'array fusion' is messing things up. In Data.ByteString.Lazy, we have:
Are you sure you have a fusible length? I think I only added it to NDP after stream fusion went in.
It was the array fusion from prior to the stream stuff (foldl . filter). Which was in fact messing up the simplifier. I've fixed this, (turned off array fusion for now), and things are back to normal. (well, much faster, actually). -- Don