Skip to content

Instantly share code, notes, and snippets.

-- Required for the MaybeC example below.
{-# LANGUAGE Rank2Types #-}
-- | HaskellerZ sketch-book from Juli 11th, 2011
module HaskellerZ where
import qualified Data.Map as M
import Control.Monad.State
import Control.Monad.Identity()
@meiersi
meiersi / gist:881389
Created March 22, 2011 15:17
Benchmarks results for using 'Write's when doing JSON String encoding.
┌─(simon@bumped)-(~/repositories/git/github/meiersi/aeson/benchmarks)-(master ?)
└─╼ ./AesonEncodeOld 500 json-data/*.json
json-data/example.json:
0.047853s
10449 per second
json-data/integers.json:
0.123015s
4065 per second
json-data/jp100.json:
0.937498s
running benchmarks for 1 chunk size in bytes
collecting 100 samples, 1 iterations each, in estimated 24.22919 s
collecting 100 samples, 1 iterations each, in estimated 4.534197 s
collecting 100 samples, 1 iterations each, in estimated 5.621886 s
ranking for 1 chunk size in bytes
1. compaction only: mean 3.469537 ms (2p 3.352643 ms, 98p 4.173089 ms, out 10)
2. with compaction: mean 6.508811 ms (2p 6.260396 ms, 98p 7.141438 ms, out 4)
3. direct: mean 138.4184 ms (2p 128.6385 ms, 98p 154.6016 ms, out 0)
import qualified Data.ByteString as S
import qualified Data.ByteString.Lazy as L
import Blaze.ByteString.Builder
import Blaze.ByteString.Builder.Char.Utf8 (fromString)
import Data.Monoid
infixl 4 <>