Repository : ssh://g...@git.haskell.org/bytestring

On branch  : ghc-head
Link       : 
http://git.haskell.org/packages/bytestring.git/commitdiff/25708d3a4a8a410795f42b97c9a4e73c04751c1a

>---------------------------------------------------------------

commit 25708d3a4a8a410795f42b97c9a4e73c04751c1a
Author: Simon Meier <simon.me...@erudify.com>
Date:   Sat Aug 31 09:15:00 2013 +0200

    Port performance patches from private bytestring branch
    
    - simplify chunk insertion (strict bytestrings instead of
      lazy-byestring-continuations)
    
    - bytestring chunk insertion is half as fast as on blaze-builder. This
      performance loss can be attributed completely to the change from using
      'inlinePerformIO' to using 'unsafePerformIO' in the conversion from 
builders
      to lazy bytestrings. This slowdown can be circumvented by executing
      buildersin the IO monad, where no unsafePerformIO is necessary.
    
    - rewrite some of the primitive builders to a non-recursive form to avoid
      unnecessary closure allocation on the fast path


>---------------------------------------------------------------

25708d3a4a8a410795f42b97c9a4e73c04751c1a
 Data/ByteString/Builder/Extra.hs    |   52 ++-
 Data/ByteString/Builder/Internal.hs |  682 +++++++++++++++++++++++------------
 Data/ByteString/Builder/Prim.hs     |   76 ++--
 bench/BenchAll.hs                   |   52 ++-
 4 files changed, 546 insertions(+), 316 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder 
--ignore-space-at-eol --cc 25708d3a4a8a410795f42b97c9a4e73c04751c1a
_______________________________________________
ghc-commits mailing list
ghc-commits@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-commits

Reply via email to