|Re: [eigen] again msvc inlining...|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] again msvc inlining...
- From: Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>
- Date: Sun, 14 Mar 2010 12:37:31 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=7IOB20ap8iuzubt5HgNVAiubPGjtFde4IEAO+yXdsJE=; b=Azl68a894Qd+vEJ5k+Z0UmhJYBlH7Qp6W0FMH8qc5u2WxOUsOaokcIX5spPecWCMOe Wvt0d3/bTtaQFSzfq4pmqA2SZy2is86dmglNqM+ws+fpEOU7VQcovQ/SKb3URZ29tAlf XKPccuFop3uqdFvtbz++SYDC9VE2NxxsofnxY=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=ugRaQrfP3SwOf/p8InWo9iF8yQUq8QMMvC4pZkuHorzs1Uz7bNzavz3UpVR2i2QJXu N66yRvAV6EIrpjkQ88w7K3f2qyymrp6uLKayJhAU5Dn1SBmKmEMuIzEn389DB+U+2bRX VV7bNTvu6LYX+UKaKAclk7OqoJbK/3xk7O2Lo=
It really depends on the situation - if you find places where it makes
you program faster please report them. It would really help a lot
since this whole issue is not trivial.
You are not seeing the effect in your program since this is unit test
related. If you define ei_assert as it is done in main.h and if you
enable internal debugging, you will see the same effect on MSVC --
guaranteed. It's a hard-coded compiler heuristic.
The functions I am modifying at the moment are not very sensitive. As
soon as anybody reports that we require strong inlining and as soon,
as we can verify this, we will add it for sure. So, in case you have
examples please share them.
On Sun, Mar 14, 2010 at 12:29 PM, Eamon Nerbonne
> Hmm, that's not the case with the program I'm building - rather, adding more
> forced inlines makes it faster.
> --eamon@xxxxxxxxxxxx - Tel#:+31-6-15142163
> On Sun, Mar 14, 2010 at 10:49, Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>
>> I will shortly remove more of those 'forced inlines' and for the
>> future I urge everybody to stick to simple inlines if not proven that
>> we really need strong ones. I totally understand that one is being
>> tempted to force inlining of mere forwarding calls in particular for
>> all those calls up and down our expression trees -- but we seem to be
>> underestimating todays compilers.
>> - Hauke
>> On Mon, Mar 8, 2010 at 10:59 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
>> > 2010/3/8 Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>:
>> >> Hi,
>> >> for known reasons, MSVC is oftentimes not inlining
>> >> DenseBase<Derived>::eval(). Any objections against changing the
>> >> EIGEN_STRONG_INLINE into a simple inline?
>> > Replacing a EIGEN_STRONG_INLINE by a 'inline' is generally something
>> > you can do without asking since
>> > - you're the MSVC guru
>> > - if there were another compiler needing this, the person having
>> > added this EIGEN_STRONG_INLINE should have added a comment explaining
>> > the reason for it :)
>> > Benoit
>> >> Regards,
>> >> Hauke