package play
- Alphabetic
- Public
- Protected
Type Members
- class PlayJson extends AstTransformer[JsValue]
- class UnorderedPlayJson extends PlayJson
Uses ~0.6x of the heap of PlayJson in exchange for undefined order of JsObject keys.
Uses ~0.6x of the heap of PlayJson in exchange for undefined order of JsObject keys. Ideal for
jsValue.as[T]
where order is irrelevant.
Heap usage for a particularly large JSON file captured from the wild:
- 814 MB:
Array[Byte] - 5,629 MB:
play.Json.parse() - 5,243 MB:
FromJson().transform(PlayJson)(java.util.LinkedHashMapinitialCapacity=2) - 3,355 MB:
FromJson().transform(UnorderedPlayJson)(Map1-4+TreeMap) - 3,107 MB:
FromJson().transform(UnorderedPlayJson)(jsObjectEmpty +Map1-4+TreeMap)
jsValue.as[T] }}}
Heap usage for a particularly large JSON file captured from the wild:
- 814 MB:
Array[Byte] - 5,629 MB:
play.Json.parse() - 5,243 MB:
FromJson().transform(PlayJson)(java.util.LinkedHashMapinitialCapacity=2) - 3,355 MB:
FromJson().transform(UnorderedPlayJson)(Map1-4+TreeMap) - 3,107 MB:
FromJson().transform(UnorderedPlayJson)(jsObjectEmpty +Map1-4+TreeMap)
- 814 MB:
Value Members
- object JsValueSingletons
Shared values to reduce memory usage.
- object PlayJson extends PlayJson
- object PlayJsonImplicits
Convenience shims back to inefficient play-json formats.
Convenience shims back to inefficient play-json formats.
weePickle FromTo macros are more performant than using play-json Formats. play-json always requires going through an intermediate heavyweight AST: -
JsValueboxes every type. Extra allocations. -JsObjectis full of hash maps which are less efficient than struct-like classes (both cpu and memory). - object UnorderedPlayJson extends UnorderedPlayJson