Please help with writing spec for async JSON APIs

Bruno Jouhier bjouhier at gmail.com
Tue Aug 4 21:09:29 UTC 2015


JSON is not that hard to parse incrementally. The i-json parser is
implemented in C++ with a fallback JS implementation. The C++
implementation is less than 1000 locs and the JS implementation less than
400 locs. The C++ implementation is 1.65 times slower than JSON.parse but,
unlike JSON.parse, it does not use any V8 internals and I have spent very
little time to optimize it. So there is room to get closer to JSON.parse.

Parsing JSON incrementally has some advantages:

   - No need to specify a new format.
   - The parser is generic and not limited to feeds. It can handle big,
   arbitrarily complex JSON payloads.
   - Parsing can be performed by a tight automata in a single pass over the
   source buffer, without any backtracking nor lookahead. This may be more
   efficient than a 2-stages approach in which the first stage identifies the
   fragments and the second one passes them to JSON.parse.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20150804/e8e2dc38/attachment-0001.html>


More information about the es-discuss mailing list