From: Damien Fisher (damienf_at_[hidden])
Date: 2006-09-08 00:26:02


On 9/8/06, Robert Ramey <ramey_at_[hidden]> wrote:
>
> If you've looked at serialization of xml you'll see that it uses spirit and
> an xml grammer derived from a complete one included in the spirit library.
> If you really don't want to re-invent the wheel, they why not just use the
> same approach? The spirit library contains a very complete XML grammer
> already. I don't recall this even having been considered - much less
> rejected. Creating XML is easy. Handling issues of code conversion (e.g.
> from locale specific code to UTF-8 or UTF-16) is easily handled with i/o
> stream facets - some of which are also already available. It is also already
> "Boost Friendly" and works with all boost platforms. It also does most of
> the heavy lifting at compile time - very much in line with other boost
> tools. I can't understand why any other approach would be attractive for
> users of other boost libraries. To me the whole idea is "re-inventing the
> wheel"

The only argument I'd have against it is that libraries like expat and
libxml2 are hugely optimized, and I have found in the past that XML
parsing can account for a significant percentage of runtime in some
applications.

Has anyone done any performance benchmarks on the spirit xml parser?
In the past I've found that, past a certain level of complexity,
spirit parsers are substantially slower than handcrafted alternatives,
but that could simply be because I'm not an expert in writing "good"
spirit parsers.