| Re: [eigen] Optimization advice for a specific expression | 
[ Thread Index | 
Date Index
| More lists.tuxfamily.org/eigen Archives
] 
Christoph Hertzberg writes:
> On 2016-02-05 17:30, Christoph Hertzberg wrote:
>> which is not inlined. I was able to fix that by adding lots of
>> EIGEN_STRONG_INLINE in src/Core/AssignEvaluator.h
>>
>> @Gael, can you confirm? Or is it better to use EIGEN_ALWAYS_INLINE, here?
>
> Sorry, it seems I was behind with pulling ...
> This was already done here:
> https://bitbucket.org/eigen/eigen/commits/dc19770fa4b0/
>
> @Alberto: Have you tried the very newest version?
> http://bitbucket.org/eigen/eigen/get/default.tar.bz2
Now I have (4aaa98775a66), but it makes no big difference for me.
As a pointer, I have re-run the tests with g++-4.9 in order to see the
influence from the compiler version:
| Test type    | Eigen_version        | g++ 5.3.1 | g++ 4.9.3 |
|--------------+----------------------+-----------+-----------|
|              | Debian 3.3-β1        |      0.15 |      0.25 |
| Hand-tweaked | 4aaa98775a66         |      0.13 |      0.12 |
|              | 3.2.7 (b30b87236a1b) |      0.05 |      0.13 |
|--------------+----------------------+-----------+-----------|
|              | Debian 3.3-β1        |      0.20 |      0.26 |
| Naive        | 4aaa98775a66         |      0.17 |      0.24 |
|              | 3.2.7 (b30b87236a1b) |      0.11 |      0.26 |
As Gael points that the "naive" version is close to the theoretical
maximum performance, I will try to focus on the simplified version
instead.
Regards,
Alberto