On Thu, Feb 29, 2024 at 5:42 PM Vinnie Falco via Boost
On Thu, Feb 29, 2024 at 3:39 PM Vinnie Falco
wrote: As I alluded to before the review started, that is grossly unfair...
As usual, the pressing of SEND causes new valuable insights to manifest.
What is important is not Boost.Parser's performance implementing a stock JSON parser, but rather that it is POSSIBLE for Boost.Parser to achieve comparable performance given enough work. Thus the question is, does Boost.Parser offer a sufficiently rich public API to allow for controlling how things are allocated and which containers are used, so that the optimizations in Boost.JSON can be replicated.
Agreed, and I think it does. There is no allocator support per se, but you can parse into your own types, which may use your custom allocator(s). Parser rarely allocates, and when it does it does it, 1) in a parse-exception path (failed expectation point), 2) in the optional trace functionality, and 3) when you tell it to by the attributes you use (explicitly or implicitly). Zach