Thu Sep  6 11:11:42 PDT 2007  Duncan Coutts <[EMAIL PROTECTED]>
  * Remove one indirection in the representation of lazy ByteString
  Instead of:
  newtype ByteString = LPS [S.ByteString]
  we have:
  data ByteString = Empty | Chunk {-# UNPACK #-} !S.ByteString ByteString
  That is, the strict ByteString element is unpacked into the Chunk constructor
  so it's now just one pointer to get to the data rather than having to look
  up the S.ByteString cons element and then follow the pointer to the data.
  Combined with SpecConstr we should be able to get some good speed 
improvements.

    M ./Data/ByteString/Fusion.hs -6 +7
    M ./Data/ByteString/Lazy.hs -313 +338
    M ./Data/ByteString/Lazy/Char8.hs -77 +78
    M ./Data/ByteString/Lazy/Internal.hs -59 +37
    M ./tests/Properties.hs -2 +2
    M ./tests/QuickCheckUtils.hs -8 +8
_______________________________________________
Cvs-libraries mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-libraries

Reply via email to