> On Wed, Sep 24, 2014 at 11:47 PM, Ian Lance Taylor wrote: > > On Wed, Sep 24, 2014 at 10:04 AM, Steven Bosscher wrote: > >> Are you using -pipe? AFAIR this still isn't the default, even on > >> GNU/Linux, but it is typically a lot faster than without. > > > > Is that true even when TMPDIR is on a ram disk? There's no obvious > > reason that it should be true in a parallel build. Using -pipe > > effectively constrains communication between the compiler and the > > assembler to work in PIPE_BUF blocks. Using TMPDIR introduces no such > > constraints, and in a big program a parallel build should obscure the > > fact that the compiler and assembler are serialized for each > > individual compilation unit. > > I've done my most recent timings on a machine that has /dev/md3 > mounted on /tmp. That's gcc110 on the compile farm. With/without -pipe > made a significant difference. > > If TMPDIR is a tmpfs or other kind of ram disk, I suppose the benefits > would be less (to the point of vanishing). Unfortunately I can't test > it... OK, I tried it on my hello world benchmark with tmpfs and -fpipe really seems like a small loss. I wonder if we can work out better defaults that works for most of people. I use tmpfs as I am worried about my notebook ssd still being alive and well in 3 years, but it is still far from mainstream.
Honza