« Return to Thread: [xpressive] Performance Tuning?

Re: [xpressive] Performance Tuning?

by Eric Niebler-3 :: Rate this Message:

Reply to Author | View in Thread

Stewart, Robert wrote:

> Dave Jenkins wrote:
>>>> Each call to parse() is constructing the sregex variables.
>>>> If you make them static or move them out of the loop, it
>>>> should help a lot.
>>> Thanks, but see my reply to Eric's.  While that would help
>>> with the benchmark performance, the nature of the function
>>> I'm testing means I can't do that otherwise.
>> How about making them static const?  That should be thread safe.
>
> I'm sorry, I read your original suggestion as being the same as Eric's: reuse the match_results.  Unfortunately, the semantic actions reference local variables, so I don't think I can make the sregex's static (please correct me if I'm wrong, but I can't see how multiple parallel invocations of the function could reference separate stack variables from static sregex's).  I did make the sregex's const; that appears to have improved performance a bit.

You can still make the regex objects static const and use placeholders
in the semantic actions. See the following section:

http://www.boost.org/doc/libs/1_39_0/doc/html/xpressive/user_s_guide.html#boost_xpressive.user_s_guide.semantic_actions_and_user_defined_assertions.referring_to_non_local_variables

--
Eric Niebler
BoostPro Computing
http://www.boostpro.com
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

 « Return to Thread: [xpressive] Performance Tuning?