Subject: Re: [boost] [Boost.Move] [Boost.Container] Compiling with older versions of Boost and Performance
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2012-01-08 14:38:43
Le 08/01/12 12:25, Thomas Jordan a écrit :
>> Message: 3
>> Date: Sat, 07 Jan 2012 15:58:20 +0100
>> From: "Vicente J. Botet Escriba" <vicente.botet_at_[hidden]>
>> Le 07/01/12 12:10, Thomas Jordan a ?crit :
>>> I am interested in experimenting with v1.48 Boost.Move and
>>> Boost.Container. However, I am otherwise constrained to using Boost
>>> libraries v1.33.1 with
>>> a Sun C++ v5.10 compiler. I couldn't seem any 'Boost library
>>> dependencies' listed in the Move/Container documentation, but a
>>> quick look through the header files suggests
>>> that it is mainly MPL and Type Traits. So...
>>> First question: would it be feasible for me to combine the headers
>>> for these two libraries with the v1.33.1 libraries and get it to
>>> work (albeit maybe with a little customisation), or would it be a
>>> big job/non-starter?
>>> Second question - I don't see any performance analysis published for
>>> Boost.Move. I know that move semantics is about more than improved
>>> performance, but am interested in that side of things, especially as
>>> the above compiler appears suboptimal in terms of copy elision and
>>> RVO. I am wondering for example whether are there any
>>> (compiler-specific) factors which could mitigate against the
>>> performance benefits of doing a move vs a copy of a vector, using
>>> these libraries, for example.
>> unfortunately Boost.Move and Boost.Container are not working up to now
>> on Sun c++ even on trunk (1.49). See
> Thanks for pointing me to that. In general is there anything more
> detailed than pass/fail available to look at?
> Is the assumption that something with so many fails it not fixable one
> the library side, and is not worth investigating?
Lastly there were some issues reporting the failure on the Sandia
testers. Sun compiler miss a lot of useful features for many Boost
I think the best you can do is to install the version 1.48 (or the
trunk), run the tests yourself, look for the first failures in
Boost.Move and try to understand what is going wrong. Report the
failures here and try to solve them with the help of Ion and the Boost
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk