aeson 0.3.2.6 → 0.3.2.7
raw patch · 2 files changed
+23/−23 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- Data/Aeson/Parser.hs +7/−7
- aeson.cabal +16/−16
Data/Aeson/Parser.hs view
@@ -33,17 +33,17 @@ import Data.Word (Word8) import qualified Data.Attoparsec as A import qualified Data.Attoparsec.Zepto as Z+import qualified Data.ByteString.Char8 as B8 import qualified Data.ByteString.Unsafe as B -- | Parse a top-level JSON value. This must be either an object or -- an array. json :: Parser Value json = do- c <- skipSpace *> anyChar- case c of- '{' -> object_- '[' -> array_- _ -> fail "root value is not an object or array"+ c <- skipSpace *> satisfy (`B8.elem` "{[")+ if c == '{'+ then object_+ else array_ object_ :: Parser Value object_ = {-# SCC "object_" #-} do@@ -67,7 +67,7 @@ value = most <|> (Number <$> number) where most = do- c <- anyChar+ c <- satisfy (`B8.elem` "{[\"ftn") case c of '{' -> object_ '[' -> array_@@ -75,7 +75,7 @@ 'f' -> string "alse" *> pure (Bool False) 't' -> string "rue" *> pure (Bool True) 'n' -> string "ull" *> pure Null- _ -> fail "not a valid JSON value"+ _ -> error "attoparsec panic! the impossible happened!" doubleQuote, backslash :: Word8 doubleQuote = 34
aeson.cabal view
@@ -1,5 +1,5 @@ name: aeson-version: 0.3.2.6+version: 0.3.2.7 license: BSD3 license-file: LICENSE category: Text, Web, JSON@@ -20,41 +20,41 @@ Parsing performance on a late 2010 MacBook Pro (2.66GHz Core i7), for mostly-English tweets from Twitter's JSON search API: .- * 0.8 KB, 32-bit GHC 6.12.3: 29945 msg\/sec (24.4 MB\/sec)+ * 0.8 KB, 32-bit GHC 6.12.3: 30538 msg\/sec (24.9 MB\/sec) .- * 0.8 KB, 64-bit GHC 7.0.3: 29280 msg\/sec (23.8 MB\/sec)+ * 0.8 KB, 64-bit GHC 7.0.3: 31204 msg\/sec (25.4 MB\/sec) .- * 6.4 KB, 32-bit GHC 6.12.3: 6684 msg\/sec (42.0 MB\/sec)+ * 6.4 KB, 32-bit GHC 6.12.3: 6731 msg\/sec (42.3 MB\/sec) .- * 6.4 KB, 64-bit GHC 7.0.3: 5893 msg\/sec (37.1 MB\/sec)+ * 6.4 KB, 64-bit GHC 7.0.3: 6627 msg\/sec (41.7 MB\/sec) .- * 11.8 KB, 32-bit GHC 6.12.3: 3610 msg\/sec (41.5 MB\/sec)+ * 11.8 KB, 32-bit GHC 6.12.3: 3751 msg\/sec (43.2 MB\/sec) .- * 11.8 KB, 64-bit GHC 7.0.3: 3059 msg\/sec (35.2 MB\/sec)+ * 11.8 KB, 64-bit GHC 7.0.3: 3381 msg\/sec (38.9 MB\/sec) . * 31.2 KB, 32-bit GHC 6.12.3: 1306 msg\/sec (39.8 MB\/sec) .- * 31.2 KB, 64-bit GHC 7.0.3: 1050 msg\/sec (32.0 MB\/sec)+ * 31.2 KB, 64-bit GHC 7.0.3: 1132 msg\/sec (34.5 MB\/sec) .- * 61.5 KB, 32-bit GHC 6.12.3: 594 msg\/sec (35.7 MB\/sec)+ * 61.5 KB, 32-bit GHC 6.12.3: 616 msg\/sec (37.0 MB\/sec) .- * 61.5 KB, 64-bit GHC 7.0.3: 505 msg\/sec (30.3 MB\/sec)+ * 61.5 KB, 64-bit GHC 7.0.3: 534 msg\/sec (32.1 MB\/sec) . Handling heavily-escaped text is a little more work. Here is parsing performance with Japanese tweets, where much of the text is entirely Unicode-escaped. .- * 14.6 KB, 32-bit GHC 6.12.3: 2257 msg\/sec (32.2 MB\/sec)+ * 14.6 KB, 32-bit GHC 6.12.3: 2315 msg\/sec (33.1 MB\/sec) .- * 14.6 KB, 64-bit GHC 7.0.3: 1931 msg\/sec (27.6 MB\/sec)+ * 14.6 KB, 64-bit GHC 7.0.3: 1986 msg\/sec (28.4 MB\/sec) .- * 44.1 KB, 32-bit GHC 6.12.3: 697 msg\/sec (30.0 MB\/sec)+ * 44.1 KB, 32-bit GHC 6.12.3: 712 msg\/sec (30.7 MB\/sec) .- * 44.1 KB, 64-bit GHC 7.0.3: 611 msg\/sec (26.3 MB\/sec)+ * 44.1 KB, 64-bit GHC 7.0.3: 634 msg\/sec (27.3 MB\/sec) .- * 82.9 KB, 32-bit GHC 6.12.3: 368 msg\/sec (29.8 MB\/sec)+ * 82.9 KB, 32-bit GHC 6.12.3: 377 msg\/sec (30.5 MB\/sec) .- * 82.9 KB, 64-bit GHC 7.0.3: 322 msg\/sec (26.0 MB\/sec)+ * 82.9 KB, 64-bit GHC 7.0.3: 332 msg\/sec (26.9 MB\/sec) . Encoding performance on the same machine and data: .