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