packages feed

ppad-base58-0.1.0: bench/Main.hs

{-# LANGUAGE OverloadedStrings #-}

module Main where

import Criterion.Main
import qualified Data.ByteString.Base58 as B58
import qualified Data.ByteString.Base58Check as B58C

main :: IO ()
main = defaultMain [
    base32
  ]

base32 :: Benchmark
base32 = bgroup "ppad-base32" [
    bgroup "base58" [
      bgroup "encode" [
        bench "hello world" $ nf B58.encode "hello world"
      ]
    , bgroup "decode" [
        bench "StV1DL6CwTryKyV" $ nf B58.decode "StV1DL6CwTryKyV"
      ]
    ]
  , bgroup "base58check" [
      bgroup "encode" [
        bench "0x00, hello world" $ nf (B58C.encode 0x00) "hello world"
      ]
    , bgroup "decode" [
        bench "13vQB7B6MrGQZaxCqW9KER" $
          nf B58C.decode "13vQB7B6MrGQZaxCqW9KER"
      ]
    ]
  ]