2006-08-04
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
|
Archives
Recommended
Blog Roll
Syndicate
|