On Tue, 2007-11-27 at 23:07 -0800, Stefan O'Rear wrote: > On Tue, Nov 27, 2007 at 10:23:40PM -0800, Don Stewart wrote: > > SO very little fix up of the Stream structures the library translated > > the list code into.. probably not good...and running this we find it has > > a space leak, and takes 5 times as long: > > > > ./C 27.58s user 1.11s system 99% cpu 28.878 total > > SpecConstr should not be able to change asymptotic space behavior one > way or the other. If not doing it introduces a leak, something has gone > terribly wrong.
Perhaps Don can correct me, but I expect there isn't actually a leak, it's just that the code is allocating much much more memory in its inner loop. Stream fusion relies on SpecConstr for everything other that simple flat stuff like map, filter, fold (the kind of stuff we had in bytestring before SpecConstr was implemented). Stream fusion relies on SpecConstr in the sense that without it stream fusion makes the code much worse. Duncan _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
