From: Russ (c.r.coggrave_at_[hidden])
Date: 2006-04-20 06:35:07
> > What type of matrices do you use? Did you try the current CVS-Head of ublas,
> > too? Do you use the const version of operator(i,j) wherever possible?
> Ohh, I should have said that it is an ordinary dense matrix
> matrix<double, column_major> mat;
> I think I use the const version of the operator(i,j) because I call it
> by a const reference.
> const matrix<T_t> &hupt = hup->t;
> No, I did not try the CVS-HEAD version yet but I will try it later!
> > The operator[i] of a matrix returns an instance of the matrix_row proxy. The
> > operator(i,j) directly addresses single elements. You can have the old
> > behavior if you define
> Yeah, that is why I thought that the operator(i,j) should be faster.
> > #define BOOST_UBLAS_ENABLE_PROXY_SHORTCUTS 1
> I'll try my old code with the new ublas and
> > We are not aware of a general performance decrease. Could you provide a
> > test case that shows this effect?
> Ok, I will try to provide a simple test.
Could this be related to the problems with the BOOST_UBLAS_CHECK macro described
in the mailing list. I can't find the thread at the moment, however, there was
some talk about the BOOST_UBLAS_CHECK macro being incorrectly enabled even when
creating release builds - this was spotted in v1.33.0 or v1.33.1, but I can't
remember which. Either way, I am pretty sure this has been fixed in CVS head so
that's your best bet.