From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 108756 invoked by alias); 16 Nov 2016 19:58:44 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 108747 invoked by uid 89); 16 Nov 2016 19:58:43 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-4.8 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=0.7, hurt, Hx-languages-length:1436, ylw X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 16 Nov 2016 19:58:33 +0000 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id B0A1A1831; Wed, 16 Nov 2016 19:58:32 +0000 (UTC) Received: from [127.0.0.1] (ovpn03.gateway.prod.ext.phx2.redhat.com [10.5.9.3]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id uAGJwVQB022858; Wed, 16 Nov 2016 14:58:31 -0500 Subject: Re: [PATCH 3/4] Makefile: Replace old suffix rules with pattern rules To: Simon Marchi References: <20161116160808.12830-1-simon.marchi@ericsson.com> <20161116160808.12830-4-simon.marchi@ericsson.com> <83lgwjfknq.fsf@gnu.org> <0fa3954e-1f8a-f7f8-aad7-d31d45aa981e@redhat.com> <535c5f310c42d9b4e349f5072068fb2a@polymtl.ca> Cc: Eli Zaretskii , Simon Marchi , gdb-patches@sourceware.org From: Pedro Alves Message-ID: Date: Wed, 16 Nov 2016 19:58:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <535c5f310c42d9b4e349f5072068fb2a@polymtl.ca> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-SW-Source: 2016-11/txt/msg00457.txt.bz2 On 11/16/2016 07:38 PM, Simon Marchi wrote: > I did some experiments, here's the time it takes to run make in the gdb/ > directory with nothing to re-build. The other number is the number of > lines printed when running make -d. It gives a rough idea of the amount > of operations make does. > > Note that these results are by changing both gdb/Makefile.in and > gdb/gdbserver/Makefile.in. That's fair, since the -r applies > recursively as well. > > Baseline: 2.5 seconds, 2306335 lines > With .SUFFIXES: 0.7 seconds, 307706 lines > With .SUFFIXES and the other %:: rules: 0.6 seconds, 255386 lines > With -r flag (make -r): 0.5 seconds, 160682 lines That's a nice speedup. Presumably if you change gdb/doc/ and gdb/testsuite/ too, the number without -r gets even closer to the -r number. If it works, I think it'll be nice to put the ".SUFFIXES and the other %:: rules" bits in a shared makefile fragment that is included (with the include directive) by all the main Makefile.in files. > So I think it shows that it wouldn't hurt to use ".SUFFIXES =" and the > other rules from the gcc Makefile. I couldn't manage to get rid of the > %.{y,l,w} -> %.c implicit rules though no matter what I tried. Calling > make with the -r flag was the only way. At this point the returns are > minimal though, so I don't think we should worry about it. Thanks, Pedro Alves