
Bryce Lelbach aka wash wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
I've recently started working on porting Boost.Serialization's XML parser from Spirit Classic to Spirit Qi (I've got some free time on my hands, and I heard that there was some interest in this task). Before I start putting more time into this, I'd love to get some feedback/suggestions and make sure someone else isn't already working on this.
My understanding is that porting the parser from Spirit Classic to Spirit Qi will not only speed up XML serialization, but would also increase portability (on some compilers, Serialization only works with Spirit 1.6, which is not shipped with the latest Boost release).
Spirit 1.6 has to be used on borland compilers since subsequent versions of spirit don't work on borland. I don't think that Qi will work with borland either. So this would mean that xml serialization won't work with borland compilers any more. BUT, the current version of the library won't build with borland compilers anyway so undertaking this task won't have any real downside.
My current plan is to rewrite the grammar in Qi, and modify the existing XML archive classes to use the new parser without changing the interface or the outputted XML.
This get's my vote. Actually I don't think you'll have to modify anything other than xml_grammar.cpp. My understanding is that Qi is supposed to be much faster than previous versions and presumably better all around. There is caveat. I tweaked the xml_grammar.cpp to use a lower level entry point in the hopes of permitting xml_archives to be thread-safe. I believe that this was successful but I can't know for sure. Good Luck with this. Robert Ramey