Re: [gentoo-user] Re: Upgrading gcc: both 4.4 and 4.5 needed?

2011-11-18 Thread Willie Wong
On Thu, Nov 17, 2011 at 07:41:21PM +, James wrote:
  Now, why can't the USE descriptions be like the kernel option
  descriptions and have something like what Pandu wrote included? 
 
 I added this to root's  .bashrc a long time ago:
 
 # USE flag settings hack by Ciaran McCreesh:
 explainuseflag(){ sed -ne s,^\([^ ]*:\)\?$1 - ,,p $(portageq
 portdir)/profiles/use.{,local.}desc; }
 alias ef=explainuseflag
 
 
 Then simply use the alias for a quick check to learn about all the different
 uses of a given flag:
 
 'ef graphite'
 
 # ef graphite
 Enable support for non-Roman fonts via media-gfx/graphite2
 Enable support for non-Roman fonts via media-gfx/graphite2
 Add support for the framework for loop optimizations based on a polyhedral
 intermediate representation
 
 Then drill down into the a specific package's use flag meaning, using the
 aforementioned 'equery u' delineated by Albert.

You people seem to miss my point. I know perfectly well how to find 
the USE descriptions. It is just that the USE description, in this 
case (as in many others) isn't terribly useful. 

Add support for the framework for loop optimizations based on a 
polyhedral intermediate representation means absolutely gibberish to
me.

But if one were to add an additional one or two lines a la Pandu, 
about how it is supposed to make  gcc-4.5.3 use a newer method to 
detect parallelism, thus (potentially) makes programs compiled by gcc 
to have better multithreaded performance and perhaps even a Kernel 
help page style It is mostly stable. If unsure, say Yes.

It would be ever so much more helpful for people who would like to
find out what new flags do before deciding whether or not to follow
the default recommended by the devs which are set into the profile.

(I'm not saying this type of hand holding is necessary for all flags:
enable support for non-Roman fonts via media-gfx/graphite2 is 
perfectly understandable, as are most other flags about features a 
user is likely to interact with. But for some of the more system 
type flags (see also that python/perl flag business from the recent 
months), I think the USE descriptions can stand some improvement.)

W

-- 
Willie W. Wong ww...@math.princeton.edu
Data aequatione quotcunque fluentes quantitae involvente fluxiones invenire 
 et vice versa   ~~~  I. Newton



Re: [gentoo-user] Re: Upgrading gcc: both 4.4 and 4.5 needed?

2011-11-18 Thread Pandu Poluan
On Nov 18, 2011 9:27 PM, Willie Wong ww...@math.princeton.edu wrote:

 On Thu, Nov 17, 2011 at 07:41:21PM +, James wrote:
   Now, why can't the USE descriptions be like the kernel option
   descriptions and have something like what Pandu wrote included?
 
  I added this to root's  .bashrc a long time ago:
 
  # USE flag settings hack by Ciaran McCreesh:
  explainuseflag(){ sed -ne s,^\([^ ]*:\)\?$1 - ,,p $(portageq
  portdir)/profiles/use.{,local.}desc; }
  alias ef=explainuseflag
 
 
  Then simply use the alias for a quick check to learn about all the
different
  uses of a given flag:
 
  'ef graphite'
 
  # ef graphite
  Enable support for non-Roman fonts via media-gfx/graphite2
  Enable support for non-Roman fonts via media-gfx/graphite2
  Add support for the framework for loop optimizations based on a
polyhedral
  intermediate representation
 
  Then drill down into the a specific package's use flag meaning, using
the
  aforementioned 'equery u' delineated by Albert.

 You people seem to miss my point. I know perfectly well how to find
 the USE descriptions. It is just that the USE description, in this
 case (as in many others) isn't terribly useful.

 Add support for the framework for loop optimizations based on a
 polyhedral intermediate representation means absolutely gibberish to
 me.

 But if one were to add an additional one or two lines a la Pandu,
 about how it is supposed to make  gcc-4.5.3 use a newer method to
 detect parallelism, thus (potentially) makes programs compiled by gcc
 to have better multithreaded performance and perhaps even a Kernel
 help page style It is mostly stable. If unsure, say Yes.

 It would be ever so much more helpful for people who would like to
 find out what new flags do before deciding whether or not to follow
 the default recommended by the devs which are set into the profile.

 (I'm not saying this type of hand holding is necessary for all flags:
 enable support for non-Roman fonts via media-gfx/graphite2 is
 perfectly understandable, as are most other flags about features a
 user is likely to interact with. But for some of the more system
 type flags (see also that python/perl flag business from the recent
 months), I think the USE descriptions can stand some improvement.)


I agree with you (and not because my name is mentioned :-P).

I got lucky with USE graphite: gcc's homepage is quite clear; a 15-minute
reading convinced me to try graphite. But there are still lots of other USE
flags that sent me on hours of goose-chase before I can enable/disable with
conviction.

I'm not sure where to put the more detailed explanations, though; perhaps a
$PN.usedesc file in the package's directory? Kind of a complement to the
.ebuild file(s).

Rgds,


Re: [gentoo-user] Re: Upgrading gcc: both 4.4 and 4.5 needed?

2011-11-18 Thread Michael Mol
On Fri, Nov 18, 2011 at 9:24 AM, Willie Wong ww...@math.princeton.edu wrote:
 On Thu, Nov 17, 2011 at 07:41:21PM +, James wrote:
  Now, why can't the USE descriptions be like the kernel option
  descriptions and have something like what Pandu wrote included?

 I added this to root's  .bashrc a long time ago:

 # USE flag settings hack by Ciaran McCreesh:
 explainuseflag(){ sed -ne s,^\([^ ]*:\)\?$1 - ,,p $(portageq
 portdir)/profiles/use.{,local.}desc; }
 alias ef=explainuseflag


 Then simply use the alias for a quick check to learn about all the different
 uses of a given flag:

 'ef graphite'

 # ef graphite
 Enable support for non-Roman fonts via media-gfx/graphite2
 Enable support for non-Roman fonts via media-gfx/graphite2
 Add support for the framework for loop optimizations based on a polyhedral
 intermediate representation

 Then drill down into the a specific package's use flag meaning, using the
 aforementioned 'equery u' delineated by Albert.

 You people seem to miss my point. I know perfectly well how to find
 the USE descriptions. It is just that the USE description, in this
 case (as in many others) isn't terribly useful.

 Add support for the framework for loop optimizations based on a
 polyhedral intermediate representation means absolutely gibberish to
 me.

 But if one were to add an additional one or two lines a la Pandu,
 about how it is supposed to make  gcc-4.5.3 use a newer method to
 detect parallelism, thus (potentially) makes programs compiled by gcc
 to have better multithreaded performance

Pretty sure having the word 'optimizations' is sufficient for that.
The rest, you can look up. (Sorry, I hate Just google it answers
more than most, but I think it's appropriate in this case)

IMO, USE flags should have good meaning to people familiar with the
field the package is related to. Otherwise, to keep the same terse
length, you have to dumb it down...but how far do you go?

Now, in this case, I think the use of the word 'polyhedral' in the
description is just silly; that's not going to mean anything to anyone
not intimately familiar with compiler optimizations, if not intimately
familiar with graphite itself. It should probably read something more
like Add support for the experimental 'graphite' framework for loop
optimizations.

If I read his email correctly, Pandu indicated that multithreaded
environments are an example of the impact the new optimization engine
may have. I don't think he indicated that that was its specific
function, so I wouldn't go so far as to point out multithreaded
environments in the USE flag description.

 and perhaps even a Kernel
 help page style It is mostly stable. If unsure, say Yes.

I'm pretty sure that's the purpose of the default state of USE flags;
if it's enabled by default, it's if unsure, say Yes. If it's
disabled by default, it's if unsure, say No.

 It would be ever so much more helpful for people who would like to
 find out what new flags do before deciding whether or not to follow
 the default recommended by the devs which are set into the profile.

Honestly, if you don't know (and I didn't), the best option seems to
me to be to ask a similar question to what Stéphane asked. Perhaps
what does the 'graphite' USE flag for gcc add?, but go on to say, I
see the USE flag description is '...', but what's the result?


 (I'm not saying this type of hand holding is necessary for all flags:
 enable support for non-Roman fonts via media-gfx/graphite2 is
 perfectly understandable, as are most other flags about features a
 user is likely to interact with. But for some of the more system
 type flags (see also that python/perl flag business from the recent
 months), I think the USE descriptions can stand some improvement.)

Sure. The problem is, what constitutes an improvement for each case?
(And perhaps it'd be a good idea to file bug reports against the
ebuilds.)

IIRC, the recent 'perl' USE flag kerfluffle was about removing 'perl'
support dropping tabs in an application, when those tabs were made
possible by a particular Perl script. I doubt that was the only
perl-based extension, but the argument made at the time was that the
USE flag that affected Perl support for the app should specifically
invoke that it affected that extensions.

That's like saying that a 'perl' or 'extensions' USE flag for irssi
should talk about disabling nick highlighting, when it would also
affect named windows, presence notifications...*anything* that depends
on its Perl extensions mechanism.

-- 
:wq



Re: [gentoo-user] Re: Upgrading gcc: both 4.4 and 4.5 needed?

2011-11-18 Thread Fredric Johansson
On Wed, Nov 16, 2011 at 2:58 PM, Pandu Poluan pa...@poluan.info wrote:

 On Nov 16, 2011 2:26 PM, Michael Mol mike...@gmail.com wrote:

 On Wed, Nov 16, 2011 at 2:11 AM, Stéphane Guedon steph...@22decembre.eu
 wrote:
  On Wednesday 16 November 2011 02:07:12 Pandu Poluan wrote:
  And if you're adventurous, add USE graphite, reemerge gcc, and
  reemerge
  world :)
 
  what does graphite add ?

 Thanks for reminding me; I meant to look it up when I got home.

 shortcircuit:1@serenity~
 Wed Nov 16 02:16 AM
 !501 #1 j0 ?0 $ euse -i graphite
 global use flags (searching: graphite)
 
 no matching entries found

 local use flags (searching: graphite)
 

 [snip]

 [-      ] graphite
    sys-devel/gcc: Add support for the framework for loop optimizations
    based on a polyhedral intermediate representation

 So, a new, experimental optimization model and framework inside your
 compiler. If it's specifically for optimizing on loops, I'll venture a
 guess it's going to be mostly effective for graphics libraries and
 apps. I've got some slightly riskier educated guesses on how it works
 and what some numeric side effects and consequences might be, but they
 scare me, so I think I'll leave it to someone who actually knows more
 about it...


 I've been using USE graphite since gcc-4.5.3-r1 appeared. Upstream says
 that graphite is stable, feature-complete, and production-ready since 4.5.3.

 To fully taste the effect of graphite, I even went the torturous route of
 emerging gcc + libtool + binutils (in that order) twice, followed by a
 wholesale-rebuild of everything (emerge --emptytree), then tarballed the
 result to my own stage3.1 tarball to spare me the *huge* amount of time
 required.

 I've deployed 3 systems with USE graphite, and they *felt* snappier.
 emerge's *felt* slower, though. (no objective tests, I know).

 I use Gentoo as a gatewall, and there I did a wholesale-rebuild one more
 time, this time specifying CFLAGS -march=native... and I just couldn't be
 happier with the resulting performance :-)

 Rgds,


I might be wrong but don't you need to have the gcc's options for
graphite enabled to actually make use of the graphite framework? (You
might be using them but you haven't mentioned it.)

//Fredric

//Fredric



Re: [gentoo-user] Re: Upgrading gcc: both 4.4 and 4.5 needed?

2011-11-18 Thread Pandu Poluan
On Nov 18, 2011 10:41 PM, Fredric Johansson fredric.miscm...@gmail.com
wrote:

 On Wed, Nov 16, 2011 at 2:58 PM, Pandu Poluan pa...@poluan.info wrote:
 
  On Nov 16, 2011 2:26 PM, Michael Mol mike...@gmail.com wrote:
 
  On Wed, Nov 16, 2011 at 2:11 AM, Stéphane Guedon 
steph...@22decembre.eu
  wrote:
   On Wednesday 16 November 2011 02:07:12 Pandu Poluan wrote:
   And if you're adventurous, add USE graphite, reemerge gcc, and
   reemerge
   world :)
  
   what does graphite add ?
 
  Thanks for reminding me; I meant to look it up when I got home.
 
  shortcircuit:1@serenity~
  Wed Nov 16 02:16 AM
  !501 #1 j0 ?0 $ euse -i graphite
  global use flags (searching: graphite)
  
  no matching entries found
 
  local use flags (searching: graphite)
  
 
  [snip]
 
  [-  ] graphite
 sys-devel/gcc: Add support for the framework for loop optimizations
 based on a polyhedral intermediate representation
 
  So, a new, experimental optimization model and framework inside your
  compiler. If it's specifically for optimizing on loops, I'll venture a
  guess it's going to be mostly effective for graphics libraries and
  apps. I've got some slightly riskier educated guesses on how it works
  and what some numeric side effects and consequences might be, but they
  scare me, so I think I'll leave it to someone who actually knows more
  about it...
 
 
  I've been using USE graphite since gcc-4.5.3-r1 appeared. Upstream
says
  that graphite is stable, feature-complete, and production-ready since
4.5.3.
 
  To fully taste the effect of graphite, I even went the torturous route
of
  emerging gcc + libtool + binutils (in that order) twice, followed by a
  wholesale-rebuild of everything (emerge --emptytree), then tarballed the
  result to my own stage3.1 tarball to spare me the *huge* amount of
time
  required.
 
  I've deployed 3 systems with USE graphite, and they *felt* snappier.
  emerge's *felt* slower, though. (no objective tests, I know).
 
  I use Gentoo as a gatewall, and there I did a wholesale-rebuild one more
  time, this time specifying CFLAGS -march=native... and I just
couldn't be
  happier with the resulting performance :-)
 
  Rgds,
 

 I might be wrong but don't you need to have the gcc's options for
 graphite enabled to actually make use of the graphite framework? (You
 might be using them but you haven't mentioned it.)


Yes. There are some CFLAGS incantations to add to fully utilize graphite,
else the optimizations would be marginal at best.

That said, turning on the CFLAGS flags was a *very* involved process:

1. By default, graphite is disabled. So you can't directly turn on the
graphite-related CFLAGS option. You must first enable USE graphite and
re-emerge gcc (or upgrade, if you're still using gcc-4.5.3). This will
pull in ppl and cloog-ppl.

2. I don't know if libtool and binutils need to be remerged, but I did it
just to be safe.

3. Now that gcc has been compiled with graphite support, you can turn on
the CFLAGS flags necessary to fully utilize graphite. WARNING: some flags
recommended by upstream *might* make some programs run worse; be careful.
(I won't have access to my servers so I can't tell you which ones exactly).

4. At this point, I want gcc itself to be optimized. So, I remerged gcc and
libtool and binutils (in that order). Might be unnecessary, but I'm anal
like that :-)

5. Finally, universe-remerge (emerge --emptytree).

As you can see, steps 4  5 are optional. And they indeed took a
*humongous* time to complete. But I am quite satisfied with the result.
Everything felt snappier compared to older boxen that haven't been
graphite-ed :-)

Of course, YMMV.

Rgds,


Re: [gentoo-user] Re: Upgrading gcc: both 4.4 and 4.5 needed?

2011-11-18 Thread Pandu Poluan
On Nov 18, 2011 11:35 PM, Pandu Poluan pa...@poluan.info wrote:


 On Nov 18, 2011 10:41 PM, Fredric Johansson fredric.miscm...@gmail.com
wrote:
 
  On Wed, Nov 16, 2011 at 2:58 PM, Pandu Poluan pa...@poluan.info wrote:
  

-snip

  
   I've been using USE graphite since gcc-4.5.3-r1 appeared. Upstream
says
   that graphite is stable, feature-complete, and production-ready since
4.5.3.
  
   To fully taste the effect of graphite, I even went the torturous
route of
   emerging gcc + libtool + binutils (in that order) twice, followed by a
   wholesale-rebuild of everything (emerge --emptytree), then tarballed
the
   result to my own stage3.1 tarball to spare me the *huge* amount of
time
   required.
  
   I've deployed 3 systems with USE graphite, and they *felt* snappier.
   emerge's *felt* slower, though. (no objective tests, I know).
  
   I use Gentoo as a gatewall, and there I did a wholesale-rebuild one
more
   time, this time specifying CFLAGS -march=native... and I just
couldn't be
   happier with the resulting performance :-)
  
   Rgds,
  
 
  I might be wrong but don't you need to have the gcc's options for
  graphite enabled to actually make use of the graphite framework? (You
  might be using them but you haven't mentioned it.)
 

 Yes. There are some CFLAGS incantations to add to fully utilize graphite,
else the optimizations would be marginal at best.

 That said, turning on the CFLAGS flags was a *very* involved process:

 1. By default, graphite is disabled. So you can't directly turn on the
graphite-related CFLAGS option. You must first enable USE graphite and
re-emerge gcc (or upgrade, if you're still using gcc-4.5.3). This will
pull in ppl and cloog-ppl.

 2. I don't know if libtool and binutils need to be remerged, but I did it
just to be safe.

 3. Now that gcc has been compiled with graphite support, you can turn on
the CFLAGS flags necessary to fully utilize graphite. WARNING: some flags
recommended by upstream *might* make some programs run worse; be careful.
(I won't have access to my servers so I can't tell you which ones exactly).

 4. At this point, I want gcc itself to be optimized. So, I remerged gcc
and libtool and binutils (in that order). Might be unnecessary, but I'm
anal like that :-)

 5. Finally, universe-remerge (emerge --emptytree).

 As you can see, steps 4  5 are optional. And they indeed took a
*humongous* time to complete. But I am quite satisfied with the result.
Everything felt snappier compared to older boxen that haven't been
graphite-ed :-)

 Of course, YMMV.


Okay, found a forum thread discussing graphite and the proper CFLAGS:

http://forums.gentoo.org/viewtopic-t-850087.html

IIRC my CFLAGS looks very similar to the once @genstorm uses (scroll down
to approximately 80% down the page).

Now I never experienced *any* emerge failure, provided that I don't go
higher than MAKEOPTS=-j3. Set it higher and several packages failed
during compile. I don't know whose fault is that, but you've been warned
;-)

Rgds,


[gentoo-user] Re: Upgrading gcc: both 4.4 and 4.5 needed?

2011-11-17 Thread James
Willie Wong wwong at math.princeton.edu writes:


  It makes gcc-4.5.3 use a newer method to detect parallelism, thus
  (potentially) makes programs compiled by gcc to have better multithreaded
  performance.

 Now, why can't the USE descriptions be like the kernel option
 descriptions and have something like what Pandu wrote included? 

I added this to root's  .bashrc a long time ago:

# USE flag settings hack by Ciaran McCreesh:
explainuseflag(){ sed -ne s,^\([^ ]*:\)\?$1 - ,,p $(portageq
portdir)/profiles/use.{,local.}desc; }
alias ef=explainuseflag


Then simply use the alias for a quick check to learn about all the different
uses of a given flag:

'ef graphite'

# ef graphite
Enable support for non-Roman fonts via media-gfx/graphite2
Enable support for non-Roman fonts via media-gfx/graphite2
Add support for the framework for loop optimizations based on a polyhedral
intermediate representation

Then drill down into the a specific package's use flag meaning, using the
aforementioned 'equery u' delineated by Albert.

hth,

James




Re: [gentoo-user] Re: Upgrading gcc: both 4.4 and 4.5 needed?

2011-11-16 Thread Pandu Poluan
On Nov 16, 2011 2:15 PM, Stéphane Guedon steph...@22decembre.eu wrote:

 On Wednesday 16 November 2011 02:07:12 Pandu Poluan wrote:
 
  And if you're adventurous, add USE graphite, reemerge gcc, and
reemerge
  world :)
 
  Rgds,

 what does graphite add ?

 thanks


It makes gcc-4.5.3 use a newer method to detect parallelism, thus
(potentially) makes programs compiled by gcc to have better multithreaded
performance.

Rgds,


Re: [gentoo-user] Re: Upgrading gcc: both 4.4 and 4.5 needed?

2011-11-16 Thread Willie Wong
On Wed, Nov 16, 2011 at 03:29:27PM +0700, Pandu Poluan wrote:
  what does graphite add ?
 
 
 It makes gcc-4.5.3 use a newer method to detect parallelism, thus
 (potentially) makes programs compiled by gcc to have better multithreaded
 performance.

Now, why can't the USE descriptions be like the kernel option
descriptions and have something like what Pandu wrote included? 

W

-- 
Willie W. Wong ww...@math.princeton.edu
Data aequatione quotcunque fluentes quantitae involvente fluxiones invenire 
 et vice versa   ~~~  I. Newton



Re: [gentoo-user] Re: Upgrading gcc: both 4.4 and 4.5 needed?

2011-11-16 Thread Albert W. Hopkins
On Wed, 2011-11-16 at 08:30 -0500, Willie Wong wrote:
 On Wed, Nov 16, 2011 at 03:29:27PM +0700, Pandu Poluan wrote:
   what does graphite add ?
  
  
  It makes gcc-4.5.3 use a newer method to detect parallelism, thus
  (potentially) makes programs compiled by gcc to have better multithreaded
  performance.
 
 Now, why can't the USE descriptions be like the kernel option
 descriptions and have something like what Pandu wrote included? 

$ equery u gcc
[ Legend : U - final flag setting for installation]
[: I - package is installed with flag ]
[ Colors : set, unset ]
 * Found these USE flags for sys-devel/gcc-4.5.3-r1:
 U I
 - - bootstrap : !!internal use only!! DO NOT SET THIS FLAG YOURSELF!,
used
 during original system bootstrapping [make stage2]
 - - build : !!internal use only!! DO NOT SET THIS FLAG YOURSELF!,
used for
 creating build images and the first half of
bootstrapping
 [make stage1]
 + + cxx   : Builds support for C++ (bindings, extra libraries, code
 generation, ...)
 - - doc   : Adds extra documentation (API, Javadoc, etc). It is
 recommended to enable per package instead of globally
 - - fortran   : Adds support for fortran (formerly f77)
 - - gcj   : Enable building with gcj (The GNU Compiler for the
Javatm
 Programming Language)
 - - graphite  : Add support for the framework for loop optimizations
based on
 a polyhedral intermediate representation
 - - gtk   : Adds support for x11-libs/gtk+ (The GIMP Toolkit)
 + + lto   : Add support for link-time optimizations (unsupported,
use at
 your own risk).
 - - mudflap   : Add support for mudflap, a pointer use checking library
 - - multislot : Allow for SLOTs to include minor version (3.3.4 instead
of
 just 3.3)
 - - nls   : Adds Native Language Support (using gettext - GNU
locale
 utilities)
 - - nocxx : Old flag -- USE=cxx from now on
 - - nopie : Disable PIE support (NOT FOR GENERAL USE)
 - - nossp : Disable SSP support (NOT FOR GENERAL USE)
 + + nptl  : Enable support for Native POSIX Threads Library, the
new
 threading module (requires linux-2.6 or better usually)
 - - objc  : Build support for the Objective C code language
 - - objc++: Build support for the Objective C++ language
 - - objc-gc   : Build support for the Objective C code language Garbage
 Collector
 - - openmp: Build support for the OpenMP (support parallel
computing),
 requires =sys-devel/gcc-4.2 built with USE=openmp
 - - test  : Workaround to pull in packages needed to run with
 FEATURES=test. Portage-2.1.2 handles this internally,
so don't
 set it in make.conf/package.use anymore
 - - vanilla   : Do not add extra patches which change default
behaviour; DO
 NOT USE THIS ON A GLOBAL SCALE as the severity of the
meaning
 changes drastically





Re: [gentoo-user] Re: Upgrading gcc: both 4.4 and 4.5 needed?

2011-11-16 Thread Pandu Poluan
On Nov 16, 2011 2:26 PM, Michael Mol mike...@gmail.com wrote:

 On Wed, Nov 16, 2011 at 2:11 AM, Stéphane Guedon steph...@22decembre.eu
wrote:
  On Wednesday 16 November 2011 02:07:12 Pandu Poluan wrote:
  And if you're adventurous, add USE graphite, reemerge gcc, and
reemerge
  world :)
 
  what does graphite add ?

 Thanks for reminding me; I meant to look it up when I got home.

 shortcircuit:1@serenity~
 Wed Nov 16 02:16 AM
 !501 #1 j0 ?0 $ euse -i graphite
 global use flags (searching: graphite)
 
 no matching entries found

 local use flags (searching: graphite)
 

 [snip]

 [-  ] graphite
sys-devel/gcc: Add support for the framework for loop optimizations
based on a polyhedral intermediate representation

 So, a new, experimental optimization model and framework inside your
 compiler. If it's specifically for optimizing on loops, I'll venture a
 guess it's going to be mostly effective for graphics libraries and
 apps. I've got some slightly riskier educated guesses on how it works
 and what some numeric side effects and consequences might be, but they
 scare me, so I think I'll leave it to someone who actually knows more
 about it...


I've been using USE graphite since gcc-4.5.3-r1 appeared. Upstream says
that graphite is stable, feature-complete, and production-ready since 4.5.3.

To fully taste the effect of graphite, I even went the torturous route of
emerging gcc + libtool + binutils (in that order) twice, followed by a
wholesale-rebuild of everything (emerge --emptytree), then tarballed the
result to my own stage3.1 tarball to spare me the *huge* amount of time
required.

I've deployed 3 systems with USE graphite, and they *felt* snappier.
emerge's *felt* slower, though. (no objective tests, I know).

I use Gentoo as a gatewall, and there I did a wholesale-rebuild one more
time, this time specifying CFLAGS -march=native... and I just couldn't be
happier with the resulting performance :-)

Rgds,

Rgds,


[gentoo-user] Re: Upgrading gcc: both 4.4 and 4.5 needed?

2011-11-15 Thread Nikos Chantziaras

On 11/15/2011 08:58 PM, Jarry wrote:

Hi,
today I upgraded gcc from 4.4.5 to the last stable version
4.5.3-r1.
[...]
But at the and I noticed gcc 4.4 has not been unmerged
and my world file is somehow larger. To my surprise,
it contains these lines:

sys-devel/gcc
sys-devel/gcc:4.4

I did full backup before, so I compared world-file before
and after gcc-upgrade just to find out, these two lines
have been really inserted now, during gcc-upgrade. And my
question is: what does it mean? Does my system need now
both gcc 4.4 and 4.5? Why is actually gcc in world-file,
when it is part of system?


The old GCC version does not get removed.  This is a good thing just in 
case the new one doesn't work for some reason.


If it works OK, you can manually unmerge the old version:

  emerge -aC gcc:4.4

Before doing that, however, make sure the new one has been activated 
with gcc-config and verify that it works by building some random package.





Re: [gentoo-user] Re: Upgrading gcc: both 4.4 and 4.5 needed?

2011-11-15 Thread Pandu Poluan
On Nov 16, 2011 8:00 AM, Nikos Chantziaras rea...@arcor.de wrote:

 On 11/15/2011 08:58 PM, Jarry wrote:

 Hi,
 today I upgraded gcc from 4.4.5 to the last stable version
 4.5.3-r1.
 [...]

 But at the and I noticed gcc 4.4 has not been unmerged
 and my world file is somehow larger. To my surprise,
 it contains these lines:

 sys-devel/gcc
 sys-devel/gcc:4.4

 I did full backup before, so I compared world-file before
 and after gcc-upgrade just to find out, these two lines
 have been really inserted now, during gcc-upgrade. And my
 question is: what does it mean? Does my system need now
 both gcc 4.4 and 4.5? Why is actually gcc in world-file,
 when it is part of system?


 The old GCC version does not get removed.  This is a good thing just in
case the new one doesn't work for some reason.

 If it works OK, you can manually unmerge the old version:

  emerge -aC gcc:4.4

 Before doing that, however, make sure the new one has been activated with
gcc-config and verify that it works by building some random package.


And if you're adventurous, add USE graphite, reemerge gcc, and reemerge
world :)

Rgds,


Re: [gentoo-user] Re: Upgrading gcc: both 4.4 and 4.5 needed?

2011-11-15 Thread Stéphane Guedon
On Wednesday 16 November 2011 02:07:12 Pandu Poluan wrote:
 On Nov 16, 2011 8:00 AM, Nikos Chantziaras rea...@arcor.de wrote:
  On 11/15/2011 08:58 PM, Jarry wrote:
  Hi,
  today I upgraded gcc from 4.4.5 to the last stable version
  4.5.3-r1.
  [...]
  
  But at the and I noticed gcc 4.4 has not been unmerged
  and my world file is somehow larger. To my surprise,
  it contains these lines:
  
  sys-devel/gcc
  sys-devel/gcc:4.4
  
  I did full backup before, so I compared world-file before
  and after gcc-upgrade just to find out, these two lines
  have been really inserted now, during gcc-upgrade. And my
  question is: what does it mean? Does my system need now
  both gcc 4.4 and 4.5? Why is actually gcc in world-file,
  when it is part of system?
  
  The old GCC version does not get removed.  This is a good thing just in
 
 case the new one doesn't work for some reason.
 
  If it works OK, you can manually unmerge the old version:
   emerge -aC gcc:4.4
  
  Before doing that, however, make sure the new one has been activated with
 
 gcc-config and verify that it works by building some random package.
 
 
 And if you're adventurous, add USE graphite, reemerge gcc, and reemerge
 world :)
 
 Rgds,

what does graphite add ?

thanks

-- 
Stéphane Guedon
page web : http://www.22decembre.eu/
carte de visite : http://www.22decembre.eu/downloads/Stephane-Guedon.vcf
clé publique gpg : http://www.22decembre.eu/downloads/Stephane-Guedon.asc


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-user] Re: Upgrading gcc: both 4.4 and 4.5 needed?

2011-11-15 Thread Andrey Moshbear
On Wed, Nov 16, 2011 at 02:11, Stéphane Guedon steph...@22decembre.eu wrote:
 On Wednesday 16 November 2011 02:07:12 Pandu Poluan wrote:
 On Nov 16, 2011 8:00 AM, Nikos Chantziaras rea...@arcor.de wrote:
  On 11/15/2011 08:58 PM, Jarry wrote:
  Hi,
  today I upgraded gcc from 4.4.5 to the last stable version
  4.5.3-r1.
  [...]
 
  But at the and I noticed gcc 4.4 has not been unmerged
  and my world file is somehow larger. To my surprise,
  it contains these lines:
 
  sys-devel/gcc
  sys-devel/gcc:4.4
 
  I did full backup before, so I compared world-file before
  and after gcc-upgrade just to find out, these two lines
  have been really inserted now, during gcc-upgrade. And my
  question is: what does it mean? Does my system need now
  both gcc 4.4 and 4.5? Why is actually gcc in world-file,
  when it is part of system?
 
  The old GCC version does not get removed.  This is a good thing just in

 case the new one doesn't work for some reason.

  If it works OK, you can manually unmerge the old version:
   emerge -aC gcc:4.4
 
  Before doing that, however, make sure the new one has been activated with

 gcc-config and verify that it works by building some random package.


 And if you're adventurous, add USE graphite, reemerge gcc, and reemerge
 world :)

 Rgds,

 what does graphite add ?


andrey@robot9000 /tmp $ grep graphite /usr/portage/profiles/use*.desc
/usr/portage/profiles/use.local.desc:app-office/libreoffice:graphite -
Enable support for non-Roman fonts via media-gfx/graphite2
/usr/portage/profiles/use.local.desc:app-portage/eix:strong-optimization
- Adds several more agressive CXXFLAGS/LDFLAGS for optimization like
graphite (if available). May cause trouble with some buggy compiler
versions. Absense of this USE flag does not strip user's *FLAGS
/usr/portage/profiles/use.local.desc:media-libs/harfbuzz:graphite -
Enable support for non-Roman fonts via media-gfx/graphite2
/usr/portage/profiles/use.local.desc:media-libs/silgraphite:pango -
Enables the pango-graphite pango module.
/usr/portage/profiles/use.local.desc:sys-devel/gcc:graphite - Add
support for the framework for loop optimizations based on a polyhedral
intermediate representation



Re: [gentoo-user] Re: Upgrading gcc: both 4.4 and 4.5 needed?

2011-11-15 Thread Michael Mol
On Wed, Nov 16, 2011 at 2:11 AM, Stéphane Guedon steph...@22decembre.eu wrote:
 On Wednesday 16 November 2011 02:07:12 Pandu Poluan wrote:
 And if you're adventurous, add USE graphite, reemerge gcc, and reemerge
 world :)

 what does graphite add ?

Thanks for reminding me; I meant to look it up when I got home.

shortcircuit:1@serenity~
Wed Nov 16 02:16 AM
!501 #1 j0 ?0 $ euse -i graphite
global use flags (searching: graphite)

no matching entries found

local use flags (searching: graphite)


[snip]

[-  ] graphite
sys-devel/gcc: Add support for the framework for loop optimizations
based on a polyhedral intermediate representation

So, a new, experimental optimization model and framework inside your
compiler. If it's specifically for optimizing on loops, I'll venture a
guess it's going to be mostly effective for graphics libraries and
apps. I've got some slightly riskier educated guesses on how it works
and what some numeric side effects and consequences might be, but they
scare me, so I think I'll leave it to someone who actually knows more
about it...

-- 
:wq