MESSAGE
DATE | 2021-01-25 |
FROM | Zack Weinberg
|
SUBJECT | Re: [Hangout - NYLXS] Future plans for Autotools
|
From hangout-bounces-at-nylxs.com Mon Jan 25 17:31:08 2021 Return-Path: X-Original-To: archive-at-mrbrklyn.com Delivered-To: archive-at-mrbrklyn.com Received: from www2.mrbrklyn.com (www2.mrbrklyn.com [96.57.23.82]) by mrbrklyn.com (Postfix) with ESMTP id 3C807164041; Mon, 25 Jan 2021 17:31:08 -0500 (EST) X-Original-To: hangout-at-www2.mrbrklyn.com Delivered-To: hangout-at-www2.mrbrklyn.com Received: by mrbrklyn.com (Postfix, from userid 1000) id C935D164046; Mon, 25 Jan 2021 17:30:26 -0500 (EST) Resent-From: Ruben Safir Resent-Date: Mon, 25 Jan 2021 17:30:26 -0500 Resent-Message-ID: <20210125223026.GI7019-at-www2.mrbrklyn.com> Resent-To: hangout-at-mrbrklyn.com X-Original-To: ruben-at-mrbrklyn.com Delivered-To: ruben-at-mrbrklyn.com Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mrbrklyn.com (Postfix) with ESMTP id ABB44163FEE for ; Mon, 25 Jan 2021 09:53:41 -0500 (EST) Received: from localhost ([::1]:32884 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l43FN-0000xm-Eg for ruben-at-mrbrklyn.com; Mon, 25 Jan 2021 09:53:41 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:41470) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l43A3-00050j-T6 for autoconf-at-gnu.org; Mon, 25 Jan 2021 09:48:11 -0500 Received: from mailbackend.panix.com ([166.84.1.89]:22268) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l43A1-00040s-66; Mon, 25 Jan 2021 09:48:11 -0500 Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com [209.85.208.50]) by mailbackend.panix.com (Postfix) with ESMTPSA id 4DPXm80KF0z1Xsl; Mon, 25 Jan 2021 09:48:08 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=panix.com; s=panix; t=1611586088; bh=WMUZxmDbKBlJHfb1jA8pOM+3GKAb1v6P6zvqAygGjfk=; h=References:In-Reply-To:From:Date:Subject:To:Cc; b=mWwtebA+ETnTRU/KQPe8Xjhl4LirF9QzaEQ1uoO6Eqol01qLXGEdDVS69opIOgqll KIGNV3qh9cPEYBDcZLbBHsgdfuX7vC10kZe+9sUe+25O/Hy1fZRIuf6ZHiJWvsSr3P JDd+wrnbaNd7GhHTp6sVxqyT0qnBmXfAs4+chYGo= Received: by mail-ed1-f50.google.com with SMTP id z22so960829edb.9; Mon, 25 Jan 2021 06:48:07 -0800 (PST) X-Gm-Message-State: AOAM531xOVJGisywrqoNacanH2jRGqiYr88uE14i1RCvytLPbiVwFwaT M7DSk0zNpgRfFwmibFpSSUsIjWPFlfNRtZ2fIXc= X-Google-Smtp-Source: ABdhPJyIDXd4P0gVlyccAuJBytozsWLG0JHyigmSbt/I4uf4Vp0irMENNcruLAC48pzQ5tddy5LtCg4PxBNM3nvnhfY= X-Received: by 2002:a50:e3c4:: with SMTP id c4mr743052edm.77.1611586086893; Mon, 25 Jan 2021 06:48:06 -0800 (PST) MIME-Version: 1.0 References: <87zh12osjk.fsf-at-tromey.com> <87eei97w7a.fsf-at-tromey.com> <25f02fe5254319a29cde8215893450fc0e0850f7.camel-at-gnu.org> In-Reply-To: <25f02fe5254319a29cde8215893450fc0e0850f7.camel-at-gnu.org> From: Zack Weinberg Date: Mon, 25 Jan 2021 09:47:55 -0500 X-Gmail-Original-Message-ID: Message-ID: To: psmith-at-gnu.org Received-SPF: pass client-ip=166.84.1.89; envelope-from=zackw-at-panix.com; helo=mailbackend.panix.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: autoconf-at-gnu.org X-Mailman-Version: 2.1.23 Precedence: list Cc: Autoconf Subject: Re: [Hangout - NYLXS] Future plans for Autotools X-BeenThere: hangout-at-nylxs.com List-Id: NYLXS Tech Talk and Politics List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: hangout-bounces-at-nylxs.com Sender: "Hangout"
On Mon, Jan 25, 2021 at 8:38 AM Paul Smith wrote: > On Sun, 2021-01-24 at 16:26 -0700, Tom Tromey wrote: > > I think it would be good. I'm curious if it is known to be faster or > > if that's just an expectation. I'd also be very interested to learn > > which changes would make the result faster. > > Speaking for myself I'm not convinced requiring GNU make would be a lot > faster. > > The only thing that would make much of a performance difference, I > think, is if we are able to replace lots of shell invocations with > built-in make functions like wildcard, if, etc. However I'm not sure > there's enough opportunity for that to matter.
I'm not at all familiar with Automake's internals, but the reason I suggested taking advantage of GNU make extensions was the potential for _complexity_ reduction of the generated Makefile, not performance. For instance, this generated rule from one of my other projects
test/ka_bcrypt_a-ka-tester.o: test/ka-tester.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_ka_bcrypt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test/ka_bcrypt_a-ka-tester.o -MD -MP -MF test/$(DEPDIR)/ka_bcrypt_a-ka-tester.Tpo -c -o test/ka_bcrypt_a-ka-tester.o `test -f 'test/ka-tester.c' || echo '$(srcdir)/'`test/ka-tester.c $(AM_V_at)$(am__mv) test/$(DEPDIR)/ka_bcrypt_a-ka-tester.Tpo test/$(DEPDIR)/ka_bcrypt_a-ka-tester.Po
would be completely unnecessary if Automake could rely on target-specific variable values, and would be substantially simpler if it could rely on $< working in all rules.
Automake _does_ make heavy use of shell constructs embedded inside frequently-executed rules, for instance
.c.o: $(AM_V_CC)depbase=`echo $-at- | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ $(COMPILE) -MT $-at- -MD -MP -MF $$depbase.Tpo -c -o $-at- $< &&\ $(am__mv) $$depbase.Tpo $$depbase.Po
which looks like it could become
%.o: %.c $(AM_V_CC)$(COMPILE) -MT $-at- -MD -MP -MF $(-at-D)/$(DEPDIR)/$(*F).Tpo \ -c -o $-at- $< $(AM_V_at)$(am__mv) $(-at-D)/$(DEPDIR)/$(*F).Tpo $(-at-D)/$(DEPDIR)/$(*F).Po
and enable Make to bypass the shell altogether. Might be worth benchmarking on a big program. Has to be an executable, not a library, though; for libraries, the overhead of the libtool script is going to dominate.
zw _______________________________________________ Hangout mailing list Hangout-at-nylxs.com http://lists.mrbrklyn.com/mailman/listinfo/hangout
|
|