|Re: [eigen] Taking advantage of C++11 features in Eigen|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
I'd like to add one particular point here: new POD support (Plain old data). It would be grat if a vector of Vector3f could be optimized using the POD optimizations
On 11. Februar 2014 16:54:18 GMT-03:00, Nicola Gigante <nicola.gigante@xxxxxxxxx> wrote:
I’m recently starting to follow the Eigen project and I was wondering which is the current status
of C++11 features support inside the library. It seems the library is “compatible” with C++11,
meaning that it compiles and works properly with the new standard, but does not take
advantage of new features when available.
The most important and obvious I can think of:
- Some Eigen types could take advantage of move semantics (for example dynamic matrices)?
- Could the new initializer list syntax be added to matrix types?
- Could the library avoid a lot of alignment problems with vectorizing code using
the new core-language support for the alignas() keyword? Also, custom “aligned” allocation
logic could be avoided with the new alignment support, and it could result in better performance
since the compiler and the runtime get to know what you need.
- Is there some use
for “r-value references for this” in the optimization of the operations execution?
with this feature, we can now distinguish when a member function is called on an l-value or an
r-value (most probably a temporary object). I think it’s worth investigating which optimizations
can be enabled knowing this fact. What do you think?
Other minor issues:
- Is there a plan to use decltype to improve the reliability of the result_of<> trait in Meta.h?
- In C++11 mode, defining non_copyable (again in Meta.h) in terms of the ‘delete’ keyword
instead of private copy constructors can improve diagnostics
I would like to contribute in this area (as a starter project to gain confidence with Eigen internals).
What do you think about it?
Thank you and congratulations for the great work!
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet..