Boost logo

Boost :

Subject: Re: [boost] [xpressive] Performance Tuning?
From: OvermindDL1 (overminddl1_at_[hidden])
Date: 2009-07-29 07:59:24


On Wed, Jul 29, 2009 at 4:20 AM, Edward Grace<ej.grace_at_[hidden]> wrote:
>>> Proceeding to timing tests.Calibrating overhead......done
>>> Timer overhead (t_c) ~= : 117.426
>>> Jitter               ~= : 25.9133
>>> qi_parse vs atoi    : 86.0764 86.3074 86.4471% faster.
>>> qi_parse vs strtol  : 71.9253 72.1881 72.5288% faster.
>>> strtol vs atoi      : 8.0502 8.26097 8.47215% faster.
>>> qi_parse vs qi_parse : -0.0274542 0.0393936 0.231944% faster.
>>>
>>>
>>> All done!
>>> ====================
>>>
>>>
>>> On my platform this is entirely consistent with the simple one-liner
>>> modification you mentioned to the previous code.
>>>
>>> Take home message - yes Spirit really *is* faster.
>>
>> Enter buffer size: 10000
>> initializing input strings...
>>
>>
>>
>> Checking that the parsers are functioning  correctly...
>> atoi is behaving itself!
>> strtol is behaving itself!
>> qi is behaving itself!
>>
>> Proceeding to timing tests.Calibrating overhead......done
>> Timer overhead (t_c) ~= : 12
>> Jitter               ~= : 8.43769e-015
>> qi_parse vs atoi     : 160.834 187.892 197.781% faster.
>> qi_parse vs strtol  : 152.088 173.709 197.184% faster.
>> strtol vs atoi       : 5.34019 7.29527 9.82952% faster.
>> qi_parse vs qi_parse : -3.12862 -0.194198 1.53912% faster.
>>
>> All done!
>>
>
> [fixed with font required]
>
> Interesting.  So, there is no difference between the speedup of strtol and
> atoi between your platform and mine (their confidence intervals overlap).
>
>
> strtol vs atoi
>
> OvermindDL1:   [5.3 ---------x-------- 9.8] %
>
>         Ed:           [8.1 --x- 8.5] %
>
> on the other hand qi_parse is significantly faster under Windows on your
> architecture compared to atoi than OS X.
>
> qi_parse vs atoi
>
> OvermindDL1:                                                   [160.8
>  ---------x-- 197.8] %
>
>         Ed:   [86.0 -----x----- 86.4] %
>
>
> Likewise in both cases the timing of qi_parse against itself shows no
> difference since the confidence interval includes zero.
>
> qi_parse vs qi_parse
>
> OvermindDL1: [-3.13 ----------- 0 ----------- +1.54] %
>
>         Ed:          [-0.03 -- 0 -- +0.23] %
>
>> MSVC definitely compiles templates code better then GCC
>
> More warnings?
>
>> it seems (you
>> said you were using GCC yes?).
>
> Yes.... I wonder why am I starting to feel sheepish about that...

Heh, I do have cygwin completely installed and fully updated on my
computer here (the recommended beta version that uses gcc 4.3 as I
recall) and I do have boost trunk (from a couple weeks ago anyway) in
there and compiled for it. If you can tell me what command I need to
type to compile the file with all necessary optimizations, I will do
that here too. Since I will be running it on the exact same computer
with the same OS, but different compilers, that will prove if it
really is GCC being much slower then VC, or if they are near the same
on my computer, then it is something else. So, what should I type
assuming I have the ejg test file and cycle.h in the current directory
with the ejg in ./other_includes/ejg for full optimizations and
everything?


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk