|
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 ___________________________________