on master help sign in
Make benchmarks more comprehensive.
commit994b2275153a67291b0af8c9dda2a923008c773e authorBryan O'Sullivan <bos@serpentine.com> dateThu 22 Dec 2011, 09:49 (15 years ago) parentd84827f
1 file changed+27−14
benchmarks/CompareWithJSON.hs+27−14
benchmarks/CompareWithJSON.hs+27−14
@@ -33,20 +33,33 @@ decodeA s = case A.decode s of
3333 Just v -> v
3434 Nothing -> error "fail to parse via Aeson"
3535
36−jsonData :: FilePath
37−jsonData = "json-data/jp100.json"
38−
3936main :: IO ()
4037main = do
41− js <- readFile jsonData
42− as <- BL.readFile jsonData
43− let jdata = decodeJ js
44− adata = decodeA as
38+ let enFile = "json-data/twitter100.json"
39+ jpFile = "json-data/jp100.json"
40+ enA <- BL.readFile enFile
41+ enJ <- readFile enFile
42+ jpA <- BL.readFile jpFile
43+ jpJ <- readFile jpFile
4544 defaultMain [
46− bgroup "decode" [ bench "json" $ nf decodeJ js
47− , bench "aeson" $ nf decodeA as
48− ],
49− bgroup "encode" [ bench "json" $ nf J.encode jdata
50− , bench "aeson" $ nf A.encode adata
51− ]
52− ]
45+ bgroup "decode" [
46+ bgroup "en" [
47+ bench "aeson" $ nf decodeA enA
48+ , bench "json" $ nf decodeJ enJ
49+ ]
50+ , bgroup "jp" [
51+ bench "aeson" $ nf decodeA jpA
52+ , bench "json" $ nf decodeJ jpJ
53+ ]
54+ ]
55+ , bgroup "encode" [
56+ bgroup "en" [
57+ bench "aeson" $ nf A.encode (decodeA enA)
58+ , bench "json" $ nf J.encode (decodeJ enJ)
59+ ]
60+ , bgroup "jp" [
61+ bench "aeson" $ nf A.encode (decodeA jpA)
62+ , bench "json" $ nf J.encode (decodeJ jpJ)
63+ ]
64+ ]
65+ ]