|
Boost : |
From: Juanma Barranquero (jmbarranquero_at_[hidden])
Date: 2003-07-28 04:58:16
On Sat, 26 Jul 2003 13:03:36 -0400
David Abrahams <dave_at_[hidden]> wrote:
> Well, that's self contradictory!
Not really. A bit later it says:
> On all x86 compatibles (Celeron, PIII, P4, Athlon, etc) you need gcc
> 2.95.x or earlier, or gcc 3.1 or newer.
WRT best optimizer
> Also, I'm strongly suspicious that they only tested with vc6 and not
> with vc7.1.
I tend to agree, but OTOH, trying the Mojo test:
gcc 3.2 (-O3)
> CREATING default-constructed object at 0x22ff68
> CREATING default-constructed object at 0x22ff58
> CREATING default-constructed object at 0x22ff00
> MOVING mojo::temporary<Y> at 0x22ff00 into object at 0x22ff38
> MOVING mojo::fnresult<Y> at 0x22ff38 into object at 0x22ff48
> CREATING default-constructed object at 0x22ff38
> CREATING default-constructed object at 0x22ff38
> CREATING default-constructed object at 0x22ff00
> MOVING mojo::temporary<Y> at 0x22ff00 into object at 0x22ff38
msvc 7.1 (/Ox)
> CREATING default-constructed object at 0012FEDC
> CREATING default-constructed object at 0012FEE0
> CREATING default-constructed object at 0012FEC0
> MOVING mojo::temporary<Y> at 0012FEC0 into object at 0012FEBF
> MOVING mojo::temporary<Y> at 0012FEBF into object at 0012FED8
> MOVING mojo::fnresult<Y> at 0012FED8 into object at 0012FEE4
> CREATING default-constructed object at 0012FED7
> CREATING default-constructed object at 0012FED7
> CREATING default-constructed object at 0012FEC0
> MOVING mojo::temporary<Y> at 0012FEC0 into object at 0012FEBF
> MOVING mojo::temporary<Y> at 0012FEBF into object at 0012FED7
so, at least on certain situations (RVO?) gcc seems to be ahead of MSVC.
Unless I'm interpreting the results in too simplistic a way or I've done
something wrong with compiler options, of course :)
Juanma
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk