In case you've tried building this package with GHC-8.4 already you may have noticed that blaze-builder isn't compatible yet. While most of blaze's functionality is also available directly from bytestring (or bytestring-builder for older GHCs), Blaze.ByteString.Builder.HTTP isn't. So I've extracted that module into a new package bsb-http-chunked.
While trying to remove the dependency on blaze-builder from http-streams, I've noticed that in several places you construct strict bytestrings from builders, which is a rather expensive operation. I was wondering if you should switch to using a different bytestring builder there. These benchmarks suggest using the bytestring-strict-builder or bytestring-tree-builder package.
I'm not sure whether I'll find the time to finish a PR implementing my suggestions but I thought I'd let you know anyway. :)
In case you've tried building this package with GHC-8.4 already you may have noticed that
blaze-builderisn't compatible yet. While most of blaze's functionality is also available directly frombytestring(orbytestring-builderfor older GHCs),Blaze.ByteString.Builder.HTTPisn't. So I've extracted that module into a new packagebsb-http-chunked.While trying to remove the dependency on
blaze-builderfromhttp-streams, I've noticed that in several places you construct strict bytestrings from builders, which is a rather expensive operation. I was wondering if you should switch to using a different bytestring builder there. These benchmarks suggest using thebytestring-strict-builderorbytestring-tree-builderpackage.I'm not sure whether I'll find the time to finish a PR implementing my suggestions but I thought I'd let you know anyway. :)