From 665c7fe8e106c2920323586cedbdd52f8db09b0f Mon Sep 17 00:00:00 2001 From: Sam T Date: Mon, 20 May 2013 13:20:06 +0400 Subject: ~ Avoid backtracking in list and integer parsing. --- bench/Main.hs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'bench') diff --git a/bench/Main.hs b/bench/Main.hs index 08ebab8..2c1da50 100644 --- a/bench/Main.hs +++ b/bench/Main.hs @@ -76,15 +76,18 @@ main = do , let d = A.bPack $ A.BList $ L.map A.BInt (L.replicate 1000 (0 :: Integer)) - in d `seq` (bench "list10000int/bencode/decode" $ nf + in d `seq` (bench "list1000int/bencode/decode" $ nf (fromJust . A.bRead :: BL.ByteString -> A.BEncode) d) , let d = BL.toStrict (C.encoded (L.replicate 10000 ())) in d `seq` (bench "list10000unit/bencoding/decode" $ nf (C.decoded :: B.ByteString -> Either String [()]) d) - , let d = BL.toStrict (C.encoded (L.replicate 10000 (0 :: Int))) + , let d = BL.toStrict $ C.encoded $ L.replicate 10000 (0 :: Int) in d `seq` (bench "list10000int/bencoding/decode" $ nf (C.decoded :: B.ByteString -> Either String [Int]) d) + , let d = L.replicate 10000 0 + in bench "list10000int/bencoding/encode>>decode" $ nf + (getRight . C.decoded . BL.toStrict . C.encoded :: [Int] -> [Int] ) d ] -- cgit v1.2.3