@@ -0,0 +1,22 @@
1+
2+import Control.Exception
3+import Control.Monad
4+import Data.Aeson
5+import Data.Time.Clock (UTCTime)
6+import qualified Data.ByteString.Lazy as BL
7+import qualified Data.ByteString as B
8+import Criterion.Main
9+
10+utcTime :: BL.ByteString -> [UTCTime]
11+utcTime str = let Just t = decode str in t
12+
13+main :: IO ()
14+main = do
15+ let file1 = "json-data/dates.json"
16+ let file2 = "json-data/dates-fract.json"
17+ enA1 <- BL.readFile file1
18+ enA2 <- BL.readFile file2
19+ defaultMain
20+ [ bench "utc-time" $ nf utcTime enA1
21+ , bench "utc-time fract" $ nf utcTime enA2
22+ ]