diff options
author | Sam Truzjan <pxqr.sta@gmail.com> | 2013-09-27 01:31:19 +0400 |
---|---|---|
committer | Sam Truzjan <pxqr.sta@gmail.com> | 2013-09-27 01:31:19 +0400 |
commit | fbfafcf77635f2174d1006af7452d7a7b7cf446e (patch) | |
tree | 0ec26cd934807059710d7d2a6d7599863db60928 | |
parent | 949b0b2e417cbc5e7be18bb5bf0bbca1a8956a1f (diff) |
Added base32hex benchmarks
-rw-r--r-- | bench/Main.hs | 35 | ||||
-rw-r--r-- | src/Data/ByteString/Base32/Hex.hs | 2 |
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 | |||
3 | import Criterion.Main | 3 | import Criterion.Main |
4 | import Data.ByteString as BS | 4 | import Data.ByteString as BS |
5 | import Data.ByteString.Base32 as Base32 | 5 | import Data.ByteString.Base32 as Base32 |
6 | 6 | import Data.ByteString.Base32.Hex as Base32Hex | |
7 | 7 | ||
8 | main :: IO () | 8 | main :: IO () |
9 | main = defaultMain | 9 | main = 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 | |||
57 | decode = pack5 decTable | 57 | decode = pack5 decTable |
58 | 58 | ||
59 | decodeLenient :: ByteString -> ByteString | 59 | decodeLenient :: ByteString -> ByteString |
60 | decodeLenient = undefined \ No newline at end of file | 60 | decodeLenient = id \ No newline at end of file |