diff mbox series

[iproute2-next] Makefile: pass -pipe to the compiler

Message ID 20190611180513.30772-1-mcroce@redhat.com
State Rejected
Delegated to: David Ahern
Headers show
Series [iproute2-next] Makefile: pass -pipe to the compiler | expand

Commit Message

Matteo Croce June 11, 2019, 6:05 p.m. UTC
Pass the -pipe option to GCC, to use pipes instead of temp files.
On a slow AMD G-T40E CPU we get a non negligible 6% improvement
in build time.

real    1m15,111s
user    1m2,521s
sys     0m12,465s

real    1m10,861s
user    1m2,520s
sys     0m12,901s

Signed-off-by: Matteo Croce <mcroce@redhat.com>
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Stephen Hemminger June 11, 2019, 7:28 p.m. UTC | #1
On Tue, 11 Jun 2019 20:05:13 +0200
Matteo Croce <mcroce@redhat.com> wrote:

> Pass the -pipe option to GCC, to use pipes instead of temp files.
> On a slow AMD G-T40E CPU we get a non negligible 6% improvement
> in build time.
> 
> real    1m15,111s
> user    1m2,521s
> sys     0m12,465s
> 
> real    1m10,861s
> user    1m2,520s
> sys     0m12,901s
> 
> Signed-off-by: Matteo Croce <mcroce@redhat.com>

Why bother, on my machine (make -j12).

Before
real	0m6.320s
user	0m30.674s
sys	0m3.649s


After (with -pipe)
real	0m6.158s
user	0m31.197s
sys	0m3.532s


So it is slower. Get a faster disk :-)

Maybe allow "EXTRA_CFLAGS" to be passed to Makefile for those that
have a burning need for this.
Matteo Croce July 14, 2019, 4:36 p.m. UTC | #2
On Tue, Jun 11, 2019 at 9:28 PM Stephen Hemminger
<stephen@networkplumber.org> wrote:
>
> On Tue, 11 Jun 2019 20:05:13 +0200
> Matteo Croce <mcroce@redhat.com> wrote:
>
> > Pass the -pipe option to GCC, to use pipes instead of temp files.
> > On a slow AMD G-T40E CPU we get a non negligible 6% improvement
> > in build time.
> >
> > real    1m15,111s
> > user    1m2,521s
> > sys     0m12,465s
> >
> > real    1m10,861s
> > user    1m2,520s
> > sys     0m12,901s
> >
> > Signed-off-by: Matteo Croce <mcroce@redhat.com>
>
> Why bother, on my machine (make -j12).
>
> Before
> real    0m6.320s
> user    0m30.674s
> sys     0m3.649s
>
>
> After (with -pipe)
> real    0m6.158s
> user    0m31.197s
> sys     0m3.532s
>
>
> So it is slower. Get a faster disk :-)
>

I did it :)

root@apu:~# hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads: 1086 MB in  3.00 seconds = 361.58 MB/sec

No change at all thought. It's really a CPU bound job, and this
machine is not a number cruncher:

root@apu:~# dd if=/dev/zero bs=1G count=1 status=none |time -p sha1sum
2a492f15396a6768bcbca016993f4b4c8b0b5307  -
real 16.00
user 12.38
sys 2.05

I think that the slight increase is due to the fact that the processes
starts in parallel, instead of being serialized.

> Maybe allow "EXTRA_CFLAGS" to be passed to Makefile for those that
> have a burning need for this.

Just out of curiosity, I checked the linux history repo to discover
when it was introduced in the kernel, it tooks me a while to really
find it:

Linux-0.99.13k (September 19, 1993)
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index 48f469b0..6c35e7c2 100644
--- a/Makefile
+++ b/Makefile
@@ -48,7 +48,7 @@  HOSTCC ?= $(CC)
 DEFINES += -D_GNU_SOURCE
 # Turn on transparent support for LFS
 DEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-CCOPTS = -O2
+CCOPTS = -O2 -pipe
 WFLAGS := -Wall -Wstrict-prototypes  -Wmissing-prototypes
 WFLAGS += -Wmissing-declarations -Wold-style-definition -Wformat=2