Hi Michael & Gabriel, I must apologise as I actually saw that foldsM was not being inlined when I first wrote the version using pipes-group. But I just copied the source to a local binding to quickly check whether it made a difference. It didn't then so I didn't bother to bring it up =(
I think I will try to eliminate all uses of "next" in my C-like code to see if it helps, as Michael pointed out. Cheers, On Tuesday, 11 August 2015 07:07:12 UTC+10, Gabriel Gonzalez wrote: > > Yeah, I just saw that pull request. That was a really nice catch! :) > > I wish there were an `INLINABLE-ALL-THE-THINGS` flag I could turn on so > that I don't forget these annotations. :) > > On 8/10/15 2:05 PM, Michael Thompson wrote: > > Dear Tran + Gabriel, > > I think I discovered that one easy-to-repair problem with > > chunks = L.impurely foldsM (fmap Chunk L.vector) (view (chunksOf 10) > nums) > > is the very simple one that you forgot the add the characteristic > `Inlinable` to the definition of `Pipes.Group.foldsM` > I sent a patch. > https://github.com/Gabriel439/Haskell-Pipes-Group-Library/pull/6 > You can see some timing differences for the programs I mentioned before in > the notes added in > discussion there. I had started to think that FreeT wasn't really much to > blame in this program, > just the use of `next` in the definition of `splitAt`. In fact, as I note > there, the best `FreeT` variant > takes half-again as long an equivalent program using > https://github.com/michaelt/streaming which is > just the obvious 'pipes-like' optimization of `FreeT` > -- > You received this message because you are subscribed to the Google Groups > "Haskell Pipes" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to haskell-pipe...@googlegroups.com <javascript:>. > To post to this group, send email to haskel...@googlegroups.com > <javascript:>. > > > -- You received this message because you are subscribed to the Google Groups "Haskell Pipes" group. To unsubscribe from this group and stop receiving emails from it, send an email to haskell-pipes+unsubscr...@googlegroups.com. To post to this group, send email to haskell-pipes@googlegroups.com.