Subject: Re: [boost] [xpressive] Performance Tuning?
From: OvermindDL1 (overminddl1_at_[hidden])
Date: 2009-07-19 05:28:39
On Sun, Jul 19, 2009 at 2:29 AM, John Bytheway<jbytheway+boost_at_[hidden]> wrote:
> OvermindDL1 wrote:
>> I just changed the file to use spirit for parsing where I had used
>> lexical_cast got very different timings for xpressive now, so now,
>> with xpressive using a bit of spirit I get:
>> Loop count: 10000000
>> Parsing: 42.5
>> xpressive: 15.4841
>> spirit-quick(static): 3.01117
>> spirit-quick_new(threadsafe): 3.10548
>> spirit-grammar(threadsafe/reusable): 3.81694
>> Vast increase, 3x faster xpressive is now.
>> Also, how do you fix that rather bloody massive warning about
>> double->int64 truncation?
>> I also changed all int64_t to boost::long_long_type since they are the
>> same thing anyway (on 32-bit at least?), as well as it being
>> multi-platform unlike int64_t.
>> My changed file is attached. Do not know if this is considered
>> cheating now that xpressive is using some spirit now. ;-)
> That one doesn't compile for me. On line 402:
> boost::spirit::qi::parse(va.begin(), va.end(),
> I get
> no instance of overloaded function "boost::spirit::qi::parse" matches
> the argument list
> (and the same on all the similar lines)
> and indeed I see can't see an appropriate overload in the spirit headers
> (in boost trunk), but it's hard to be sure since there are so many
> functions called parse!
You are running Boost Trunk? Compiles fine here in MSVC, and I last
synced to trunk less then a week ago.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk