Popularity
7.0
Declining
Activity
0.0
Stable
24
2
3

Monthly Downloads: 93
Programming language: Haskell
License: BSD 3-clause "New" or "Revised" License
Tags: Web    

superbuffer alternatives and similar packages

Based on the "Web" category.
Alternatively, view superbuffer alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of superbuffer or a related project?

Add another 'Web' Package

README

Haskell SuperBuffer

CircleCI Hackage

The superbuffer packages was designed to efficiently build up bytestrings from IO actions producing smaller chunks. The goal was to reduce memory overhead as much as possible while still being as fast as possible. In our use case, it reduced total memory usage of the program from 350 MB (bytestring builder) to 50 MB (superbuffer). For speed see benchmarks below. Note that the speed heavily depends on a good choice of the initial buffer size. superbuffer outperforms or performs similar to the bytestring alternatives consistently. superbuffer outperforms buffer-builder.

Usage

{-# LANGUAGE OverloadedStrings #-}
module Example where

import Data.ByteString.SuperBuffer
import qualified Data.ByteString as BS

myBS :: IO BS.ByteString
myBS =
    -- note: performance of superbuffer heavily depends on a
    -- smart choice of the initial buffer size. Benchmark to
    -- find what suits your needs.
    withBuffer 1024 $ \buf ->
    do appendBuffer buf "Hello "
       appendBuffer buf "World!"

Benchmarks

See: Benchmarks for 0.3.0.0