Subject: Re: [boost] [xpressive] Performance Tuning?
From: OvermindDL1 (overminddl1_at_[hidden])
Date: 2009-07-28 00:34:06


On Mon, Jul 27, 2009 at 6:17 PM, OvermindDL1<overminddl1_at_[hidden]> wrote:
> /* snip */

I did a quick first test at work, just a quick compile, got some
errors, and quite frankly I do not know how this compiled in gcc
either. First error is:
1>r:\programming_projects\spirit_price\price_parsing\main.cpp(545) :
error C2373: '_input' : redefinition; different type modifiers
1> r:\programming_projects\spirit_price\price_parsing\main.cpp(544)
: see declaration of '_input'

The relevant code is:
   template <class T>
   T
   extract(char const * & _input, char const * _description,
      std::string const & _input);

Why do the first and last function params have the same name (_input)?
 And which one is the real input? Based upon line 566, I changed the
last _input to _value and that error (and one other) is now gone.
Hmm, actually the third error is gone too. Now I am getting lots of
Warnings (as errors since I by default have warnings treated as
errors) about double to int64_t cast, both in your normal code on
line 730

Also, I added a:
   tests.reserve(450000);
right before the load_tests call, that changed the load_tests time
from like 10 seconds to about 2 seconds on my system.

Also, why are you using time(0), that only has second accuracy?