packages feed

ppad-base58-0.2.1: 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 [
    base58
  ]

base58 :: Benchmark
base58 = bgroup "ppad-base58" [
    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 "\NULhello world"
      ]
    , bgroup "decode" [
        bench "13vQB7B6MrGQZaxCqW9KER" $
          nf B58C.decode "13vQB7B6MrGQZaxCqW9KER"
      ]
    ]
  ]