|Re: [eigen] on extern template instanciation|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] on extern template instanciation
- From: "Gael Guennebaud" <gael.guennebaud@xxxxxxxxx>
- Date: Fri, 13 Jun 2008 23:03:10 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:in-reply-to:mime-version:content-type:references; bh=Cp7sMYQHt5bEGnr6YIOL1wma4WvL1wRoyMjhzBfw8LE=; b=nuEHAxaKlLBqi6rDUeVVcWxzKA9Loqc/gTqBnnYkXPR4wifZf6o9ahoX2/yg8zCbMk gRgr5cv0dz/vPevZ5WMNM8/Y9dKq0JjvL+SdSmnQEXspu9PMFsJSFMT9aZkj/jPX6yNx u9hEmt0SzXgeVqw0YG+R4GhgNP7ZhM7b3bccE=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version :content-type:references; b=x16sPx8iOGgaGuxOxUlio7CeD6T7lp0n7WP6lMciU9LE4ImGywAR/6KBIYFiqRk7C1 gRKAwUPe8ay1c9mfd+vlSNHExN/LpQkO8mAsknnnbYJRdIfsDuvYOdIQqDOyRG9jOyUr X69iFrDOb95IacfBVlyjwsLRVsffgN8S1jR1k=
ok, after some experiments I found the issue with gcc and and extern template. The pb is that I was compiling the code with -O3 and so gcc instantiate all members to check for automatic inlining. So compiling with -O2 makes extern templates working as expected: 6sec versus 16sec....
However, the question still remains as we (at least me :) ) would like to be able to compile the code with -O3 while keep the benefits of having external instantiations...
I've already tried the no_inline attribute: does not do the trick. So maybe with some inllining related options of gcc.... ????
On Fri, Jun 13, 2008 at 6:31 PM, Benoît Jacob <jacob@xxxxxxxxxxxxxxx
On Friday 13 June 2008 18:27:29 Gael Guennebaud wrote:cool, great that it works on gcc3, that means it'd even be ok for KDE.
> actually GCC implements extern template for a while, gcc3 supports it, like
> MSVC. But that's good to know it's going to be a real standard :)
ah ok so I was comparing apples and oranges.
> hm... with the explicit instanciation of all classes of the QR modules and
> 8 matrix types the compilation time of the lib is much much higher: ~1min
> for ~400KB (release mode).
Anyway, the compilation time of the library (if any) is not a problem, since
> That's not huge at all if we compare to other
> linear algebra package (e.g., Intel's one, but this is true for many
> others) which requires a couple of MB only for the matrix-matrix products
> (abusive unrolling).
it only annoys us and people making eigen packages. What we don't want is to
piss off our actual users :)