Haskell Hacking: a journal of Haskell programming

Haskell Hacking has moved => Go here.
2006-08-04

Stream fusion

Duncan Coutts and I have been furiously hacking away at a new array fusion system for Data.ByteString, using an improved set of loop combinators based on hylomorphisms. Some initial results (raw) are available.
  • Old system, which people are now using.
  • New system, based on stream fusion, using latest ghc patches, which we hope to have out in the next couple of weeks.
int-e on #haskell kindly graphed the results. For fuseable pipelines, this gives some indication of the speed ups people are likely to see in ghc 6.6. The numbers compare fuseable functions that traverse the byte strings in various directions, with and without accumulators. And once again QuickCheck has been hugely helpful in getting our rewrite rules correct, and spotting flaws in our reasoning. GHC seems to do a much better job generating tight, strict loop with the new combinators :)

/home :: /haskell :: permalink :: rss

About

Real World Haskell

RWH Book Cover

Archives

Recommended

Blog Roll

Syndicate