Boost logo

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