Performance comparison of JSONDecoder
and JSONSerializaton
decoding and returning a struct from a 7 MB JSON.
macOS: JSONEncoder
was 10.95% slower than JSONSerialization
+ object mapping.
Linux: JSONEncoder
was 0.28% faster than JSONSerialization
+ object mapping.
The JSONEncoder
bars show performance of decoder.decode()
where decoder
is a previously instantiated JSONDecoder
.
The JSONSerialization
bars show the total performance of JSONSerialization.jsonObject
, a cast of that return value to [String: Any]
, and then instantiating a struct from that dictionary.
Borrowed ideas from JSONShootout. Also using their large JSON file.