Decode JSON literal types eagerly and with our own decoder.
Previously we relied on Double.parseDouble() to decode tokens. Since that method is expensive, we deferred calling it unless absolutely necessary. Now we decode the literal type immediately. For efficiency we decode the token right out of the char buffer. This makes things more complicated but it saves many calls to charAt(). With this change overall performance is 7% faster for JSON documents cited in the bug. benchmark run ms linear runtime % GsonParseFull no switch, no int parse 309 ============================ 93% GsonParseFull baseline 330 ============================== 100% http://b/3201883 Change-Id: I436b6769956b1357a17c807a327d3a234691c73f
Loading
Please register or sign in to comment