Re: [eigen] eigen sqrt compilation error

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Finally, I added a Eigen/Dense header, including all the dense
functionality, but not Sparse, and not the workaround files
QtAlignedMalloc, StdVector.

Rationale:
- this is only 15% slower than Core on my test, while it becomes 35%
slower than Core if I also include Sparse.
- we can still offer Eigen/Eigen alongside if you still think it's
needed. It would include Dense and Sparse, but still not the
workaround files. For that reason it's a bit misleading : the name
Eigen/Eigen suggests that all is included. Tell us if you still want
Eigen/Eigen.

Benoit

2009/6/19 Rohit Garg <rpg.314@xxxxxxxxx>
>
> PLEASE include the nuclear option. I like that.
>
> On Fri, Jun 19, 2009 at 6:13 AM, Mark Borgerding<mark@xxxxxxxxxxxxxx> wrote:
> > I like this.
> > * easy to get everything from Eigen you could possibly want with one include
> > * possible to go through the trouble of minimizing compile time or source
> > file dependencies.
> > It seems like a good philosophy.
> >
> > Guido Von Rossum is fond of saying "Make the easy things easy. Make the hard
> > things possible."
> > -- Mark
> >
> >
> > Benoit Jacob wrote:
> >>
> >> oh and there is another "nuclear option":
> >>
> >> add a convenience #include<Eigen/Eigen> that includes them all. And
> >> then keep the separate headers for the users who want every % of
> >> compilation speed.
> >>
> >> The idea is that Core and Array are the 2 biggest modules, so
> >> Eigen/Eigen won't be much slower than including them two.
> >>
> >> Benoit
> >>
> >> 2009/6/19 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
> >>
> >>>
> >>> 2009/6/19 Gael Guennebaud <gael.guennebaud@xxxxxxxxx>
> >>>
> >>>>
> >>>> On Fri, Jun 19, 2009 at 12:29 PM, Patrick Mihelich
> >>>> <patrick.mihelich@xxxxxxxxx> wrote:
> >>>>
> >>>>>
> >>>>> On Fri, Jun 19, 2009 at 12:37 AM, Moritz Lenz
> >>>>> <mlenz@xxxxxxxxxxxxxxxxxxxxxxx> wrote:
> >>>>>
> >>>>>>
> >>>>>> Considering the number of times people make this error (forgetting to
> >>>>>> include it), what about including it by default? Is there a very good reason
> >>>>>> not to do it?
> >>>>>>
> >>>>>
> >>>>> I wonder this too. I ran into this error when I started using Eigen,
> >>>>> and it seems to pop up regularly on the list. What exactly is the cost of
> >>>>> including <Eigen/Array> in the core? How much does it increase compile
> >>>>> times?
> >>>>>
> >>>>
> >>>> on my high end computer with gcc 4.3.2 -O2 -DNDEBUG, much less time
> >>>> than to compile: Vector3f a, b; cout << a+b;, so something around 0.02
> >>>> sec.
> >>>>
> >>>
> >>> On my computer I tried this program:
> >>>
> >>> #include <Eigen/Core>
> >>> //#include <Eigen/Array>
> >>>
> >>> using namespace Eigen;
> >>>
> >>> int main() {
> >>>  Matrix3d m = Matrix3d::Identity();
> >>>  Matrix3d n = m+m;
> >>>  Vector3d v; v << 1, 2, 3;
> >>>  Vector3d w = v+v;
> >>>  w = m * w;
> >>>  std::cout << w << std::endl;
> >>> }
> >>>
> >>> with g++ 4.3.3. I repeated the compilation 10 times.
> >>>
> >>> The #include<Eigen/Array> increases compilation times by 2.5% and the
> >>> memory usage is not affected.
> >>>
> >>> I'm OK to consider this reasonable, especially as other modules like
> >>> Geometry already include Array.
> >>> What's your opinion?
> >>>
> >>> The next question would be: should we merge the Array/ files into
> >>> Core/ or just #include<Array> in Core.
> >>>
> >>> Benoit
> >>>
> >>
> >>
> >>
> >
> >
> >
> >
>
>
>
> --
> Rohit Garg
>
> http://rpg-314.blogspot.com/
>
> Senior Undergraduate
> Department of Physics
> Indian Institute of Technology
> Bombay
>
>



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/