summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Truzjan <pxqr.sta@gmail.com>2013-09-27 01:31:19 +0400
committerSam Truzjan <pxqr.sta@gmail.com>2013-09-27 01:31:19 +0400
commitfbfafcf77635f2174d1006af7452d7a7b7cf446e (patch)
tree0ec26cd934807059710d7d2a6d7599863db60928
parent949b0b2e417cbc5e7be18bb5bf0bbca1a8956a1f (diff)
Added base32hex benchmarks
-rw-r--r--bench/Main.hs35
-rw-r--r--src/Data/ByteString/Base32/Hex.hs2
2 files changed, 29 insertions, 8 deletions
diff --git a/bench/Main.hs b/bench/Main.hs
index 5309cd9..5ecfa5d 100644
--- a/bench/Main.hs
+++ b/bench/Main.hs
@@ -3,16 +3,37 @@ module Main (main) where
3import Criterion.Main 3import Criterion.Main
4import Data.ByteString as BS 4import Data.ByteString as BS
5import Data.ByteString.Base32 as Base32 5import Data.ByteString.Base32 as Base32
6 6import Data.ByteString.Base32.Hex as Base32Hex
7 7
8main :: IO () 8main :: IO ()
9main = defaultMain 9main = defaultMain
10 [ bench "encode/1M" $ nf encode $ BS.replicate 1000000 0x8e 10 [ bench "base32/encode/1M" $ nf Base32.encode
11 , bench "encode/5M" $ nf encode $ BS.replicate 5000000 0x8e 11 $ BS.replicate 1000000 0x8e
12 , bench "base32/encode/5M" $ nf Base32.encode
13 $ BS.replicate 5000000 0x8e
14
15 , bench "base32/decode/regular/1M" $ nf Base32.decode
16 $ BS.replicate 1000000 0x41
17 , bench "base32/decode/regular/5M" $ nf Base32.decode
18 $ BS.replicate 5000000 0x41
19
20 , bench "base32/decode/lenient/1M" $ nf Base32.decodeLenient
21 $ BS.replicate 1000000 0x41
22 , bench "base32/decode/lenient/5M" $ nf Base32.decodeLenient
23 $ BS.replicate 5000000 0x41
24
25 , bench "base32hex/encode/1M" $ nf Base32Hex.encode
26 $ BS.replicate 1000000 0x8e
27 , bench "base32hex/encode/5M" $ nf Base32Hex.encode
28 $ BS.replicate 5000000 0x8e
12 29
13 , bench "decode/regular/1M" $ nf decode $ BS.replicate 1000000 0x41 30 , bench "base32hex/decode/regular/1M" $ nf Base32Hex.decode
14 , bench "decode/regular/5M" $ nf decode $ BS.replicate 5000000 0x41 31 $ BS.replicate 1000000 0x41
32 , bench "base32hex/decode/regular/5M" $ nf Base32Hex.decode
33 $ BS.replicate 5000000 0x41
15 34
16 , bench "decode/lenient/1M" $ nf decodeLenient $ BS.replicate 1000000 0x41 35 , bench "base32hex/decode/lenient/1M" $ nf Base32Hex.decodeLenient
17 , bench "decode/lenient/5M" $ nf decodeLenient $ BS.replicate 5000000 0x41 36 $ BS.replicate 1000000 0x41
37 , bench "base32hex/decode/lenient/5M" $ nf Base32Hex.decodeLenient
38 $ BS.replicate 5000000 0x41
18 ] \ No newline at end of file 39 ] \ No newline at end of file
diff --git a/src/Data/ByteString/Base32/Hex.hs b/src/Data/ByteString/Base32/Hex.hs
index f68ad31..0708eeb 100644
--- a/src/Data/ByteString/Base32/Hex.hs
+++ b/src/Data/ByteString/Base32/Hex.hs
@@ -57,4 +57,4 @@ decode :: Base32Hex -> ByteString
57decode = pack5 decTable 57decode = pack5 decTable
58 58
59decodeLenient :: ByteString -> ByteString 59decodeLenient :: ByteString -> ByteString
60decodeLenient = undefined \ No newline at end of file 60decodeLenient = id \ No newline at end of file