on master help sign in
Add ZonedTime benchmarks
commit9cf51f9fb6bf5b7f612e82cf22e31ccf341d882e authorBryan O'Sullivan <bos@serpentine.com> dateFri 17 Jul 2015, 22:28 (11 years ago) parent5637fae
1 file changed+12−2
benchmarks/Dates.hs+12−2
benchmarks/Dates.hs+12−2
@@ -1,16 +1,26 @@
11import Criterion.Main
22import Data.Aeson (decode)
33import Data.Time.Clock (UTCTime)
4+import Data.Time.LocalTime (ZonedTime)
45import qualified Data.ByteString.Lazy as BL
56
67utcTime :: BL.ByteString -> Maybe [UTCTime]
78utcTime = decode
89
10+zTime :: BL.ByteString -> Maybe [ZonedTime]
11+zTime = decode
12+
913main :: IO ()
1014main = do
1115 let file1 = "json-data/dates.json"
1216 let file2 = "json-data/dates-fract.json"
1317 defaultMain [
14− env (BL.readFile file1) $ \ ~bs -> bench "whole" $ nf utcTime bs
15− , env (BL.readFile file2) $ \ ~bs -> bench "fractional" $ nf utcTime bs
18+ bgroup "UTCTime" [
19+ env (BL.readFile file1) $ \ ~bs -> bench "whole" $ nf utcTime bs
20+ , env (BL.readFile file2) $ \ ~bs -> bench "fractional" $ nf utcTime bs
21+ ]
22+ , bgroup "ZonedTime" [
23+ env (BL.readFile file1) $ \ ~bs -> bench "whole" $ nf zTime bs
24+ , env (BL.readFile file2) $ \ ~bs -> bench "fractional" $ nf zTime bs
25+ ]
1626 ]