
On 1/11/2011 12:15 AM, caustik wrote:
On Mon, Jan 10, 2011 at 5:02 AM, Stewart, Robert<Robert.Stewart@sig.com>wrote:
Joel de Guzman wrote:
On 1/10/2011 10:03 AM, caustik wrote:
I'm also curious what the difference performance characteristics are (Spirit / Xpressive).
I'm not quite keen on apples-oranges comparisons. Both xpressive and Spirit have their place. That said, I am not aware of any formal benchmarks, but there's an informal one posted by Overmind on the Boost users list:
http://lists.boost.org/Archives/boost/2009/07/153899.php
With that simple test, Spirit beats highly optimized xpressive (1.5 secs vs. 9 secs). You might want to read the whole thread.
What's disappointing is that after I did, finally, post real code, that thread fizzled.
It would be a nice addition to the documentation to have some thorough benchmark tests. Any particular ideas on what good tests would be? Maybe even just a note in the FAQs with a suggestion on how tests could be run, and asking for users to contribute, would yield some help from others. I would imagine that there have been a few users who ran their own internal tests before choosing a solution, if they were made aware of the interest in gathering those results, they may volunteer that data.
I don't agree. If it were Spirit vs. other parsers (yacc, ANTLR, etc.), that would be meaningful, yes. But if it is spirit vs. xpressive, it will be an apple-orange comparison. There are things that are best suited for xpressive that spirit can't do and the same the other way around. These are different tools with some overlap. Real world uses for both tools go beyond this common overlap. Benchmarks that test the common denominator are at best for entertainment only. Would you write a compiler with xpressive? I don't think so. Would you do search and replace with Spirit? Nah. Regards, -- Joel de Guzman http://www.boostpro.com http://spirit.sf.net