Boost logo

Ublas :

From: Michael Stevens (mail_at_[hidden])
Date: 2006-04-20 09:42:32


On Thursday, 20. April 2006 10:00, Andreas Dolfen wrote:
> Hi,
>
> I just ported my code from boost 1.30.2 to boost 1.33.1. As far as ublas
> is concerned I only changed the calls to the matrix operator[], which I
> used for getting access to elements M[x][y], to the operator(x,y).
> Now my compiled program is about a factor of 1.35 slower than with boost
> 1.30.2 in a part where I make extensive use of operator(x,y).
> I don't know if this is due to the operator(x,y) or to a general
> performance decrease in ublas.
> My compiler is the ibm xlc++ compiler V8.0 on AIX 5.2.
>
> I'd like to stay with the boost 1.33.1 for a number of reasons. Does
> anyone know what to do to increase performance again?

Hope so! Although it is alway hard with commercial compilers to get to the
bottom of such problems.

I couple of others have already made a few suggestions so let me have a try
with a few other possibilities.

A couple of things you could look at. uBLAS has bench1-4. If you are only
using Dense matrices then it would be sufficient to just compile up bench1
for both versions and compare results. This may give us a better idea of
which operations are suffering.

A nother thing you could try is compiling test/placement_new.cpp and seeing
what the return value is. If this is -3 then you can enable
BOOST_UBLAS_USEFUL_ARRAY_PLACEMENT_NEW
which can make a major difference on some compilers.

Michael
as

-- 
___________________________________
Michael Stevens Systems Engineering
34128 Kassel, Germany
Phone/Fax: +49 561 5218038
Navigation Systems, Estimation  and
                 Bayesian Filtering
    http://bayesclasses.sf.net
___________________________________