From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Arthur Miller Newsgroups: gmane.emacs.devel Subject: Re: Compilation speed Date: Mon, 10 Aug 2020 16:33:33 +0200 Message-ID: References: <87bljnby36.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="14324"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: emacs-devel@gnu.org To: Lars Ingebrigtsen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Aug 10 16:49:35 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k597G-0003U5-0I for ged-emacs-devel@m.gmane-mx.org; Mon, 10 Aug 2020 16:49:34 +0200 Original-Received: from localhost ([::1]:59212 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k597F-0005lx-24 for ged-emacs-devel@m.gmane-mx.org; Mon, 10 Aug 2020 10:49:33 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39710) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k596R-0005K1-NJ for emacs-devel@gnu.org; Mon, 10 Aug 2020 10:48:47 -0400 Original-Received: from mail-oln040092073033.outbound.protection.outlook.com ([40.92.73.33]:32407 helo=EUR04-HE1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k596O-0002Ai-U4 for emacs-devel@gnu.org; Mon, 10 Aug 2020 10:48:43 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GHryGdUeNgS/IOn6I3f075O5BC0o1LWXyxWGP7KpTLJ0rz3FPL2IwZTPqFCzkNQBRXeOUbt0FrDGQd4+21kauWZcyWoeI22BcY6dmzXAaOiKfSyJR79JyoSKWVkD2AtRowSXwyba55+Hqah1OPFutyGux7qI3Opf5qFtgEdNxbK+NaZCWifRULr29rHi/o+8I//a+BLxJnW17bICUwkNDXdKkfMpU8YR2udJZwHqOEvmGpKI+ZAi1Hcp4NJcOGd4JmmFpyv7jnq+2oaJgzE7qAMEux+ASA8rE3MWGGDNoe5NuKl935QqRrqjOEeNQ9rphzMIoblVnjkPSGE4dx/vzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=THzNrKQfqUu/ISR5vu1ym9rL1AGJGcddcFI8vE5HoQU=; b=FYRUYBPRdDLKM4EH0VkPtC3a0qs7d5u265BYsKugE5ggjZYx3nUgIPjqRYTjVLQ0DOZ21CA1lAA9EF1uIQH8JRDSatId5SAVuLieKDCEyx5pt7j8XzthXZ89uLx0ax0E8JvX0tgO6nLK2+nswJ9dWBwYQZbmAo2X7M7h8NzXfZFElDt4QcmVEFOJuGB1toVcldjEJ7H9vcK5jJwKoGcXxFr7OprrM206lF/hLzFBNUlsXb7Cf9GpObHCFPYNYq7Ya1Gw60Xu2/TASM5DSvCQqdFsgRM0pdAZz0FyL0QeEhWddA+a3OIBO+5uAwaz1fJL7S/fJpyaY8RWcRb/nlc3Kg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=live.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=THzNrKQfqUu/ISR5vu1ym9rL1AGJGcddcFI8vE5HoQU=; b=qjMnNrYySmzIUbr7CjK8Jer3rx3Hv/5pWoYZt4Suz2NcMFPL0K7Yga0DOOMK/aiRcGKH3RM65NPvKGqa/6JRufL+VBwX6ukCbv2UQ8IDbIrYq7E3/TrSymWisXOVqIQiPKsJuIF3ovVA5XJoUB6sVMX41DiM53zIM0dsQ8HyBjH+w9ezHFmDzXB93cuxKFUigqd1IWi0sNTzuNqOCDke2yhDDIYkmKlksb0Mdw3MI7JUhYtvD15PdA1XB3kewY9koP10W1XDOLnuUlnjYbt8r3nE8ADcSFgYZj3MhlxeseVZarXPJ4Nb0KNzJ8WeeC0cgc1iXtt+sCJms+YvDmVvMA== Original-Received: from HE1EUR04FT041.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0d::50) by HE1EUR04HT164.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0d::82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3261.16; Mon, 10 Aug 2020 14:33:35 +0000 Original-Received: from VI1PR06MB4526.eurprd06.prod.outlook.com (2a01:111:e400:7e0d::45) by HE1EUR04FT041.mail.protection.outlook.com (2a01:111:e400:7e0d::134) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3261.16 via Frontend Transport; Mon, 10 Aug 2020 14:33:35 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:8D15AE519DB0790FBDDBE62DFAFB08DE057C6A42A5F9720DB1546BCAB98F267C; UpperCasedChecksum:A986E4FDC9FD4CC69646E1E92661F5BEDA4FECCC692CBC814DF1FAB47A104F6F; SizeAsReceived:7393; Count:47 Original-Received: from VI1PR06MB4526.eurprd06.prod.outlook.com ([fe80::c07e:b060:2d54:c4d4]) by VI1PR06MB4526.eurprd06.prod.outlook.com ([fe80::c07e:b060:2d54:c4d4%4]) with mapi id 15.20.3261.024; Mon, 10 Aug 2020 14:33:35 +0000 In-Reply-To: <87bljnby36.fsf@gnus.org> (Lars Ingebrigtsen's message of "Thu, 06 Aug 2020 17:20:13 +0200") X-ClientProxiedBy: AM5PR0701CA0002.eurprd07.prod.outlook.com (2603:10a6:203:51::12) To VI1PR06MB4526.eurprd06.prod.outlook.com (2603:10a6:803:ac::17) X-Microsoft-Original-Message-ID: <877du6y3ia.fsf@live.com> X-MS-Exchange-MessageSentRepresentingType: 1 Original-Received: from pascal.homepc (90.230.29.56) by AM5PR0701CA0002.eurprd07.prod.outlook.com (2603:10a6:203:51::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3283.7 via Frontend Transport; Mon, 10 Aug 2020 14:33:34 +0000 X-Microsoft-Original-Message-ID: <877du6y3ia.fsf@live.com> X-TMN: [xw/bqjwaVNSaGEcK6gKU8laAoyO5P/jY] X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 47 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: a743d977-5def-44d9-3329-08d83d3a5c9a X-MS-TrafficTypeDiagnostic: HE1EUR04HT164: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: E/2/hDF6oM6FvT1G0EJnRbHFXmTgcgTixOI7x9LC3mTVfUcRsJSkdR5WtFDaMu5SmdPcoxStEWFv92sQRcicYvq0zKb7elAW/rqyUFBjC8SMluTkJ3NiJxvOFfXkpdhESWXh78RLiBAYM46E0uFgdo0aM7wxYqjRJTHzJwPHDzhN9eea42pbAyWZ6/v+2OH4W0rLHFdzal7ZDOOkU5pIBw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:0; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR06MB4526.eurprd06.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:; DIR:OUT; SFP:1901; X-MS-Exchange-AntiSpam-MessageData: ZKiju5CZkJMD1TFme1XqX4YEbgfaZDDSgEo4pHormwAxeAn+O2Ie8GWESqpTKMP1VuAV4cBO54Ra2wwdkksqkRnKRwCTrIc6yz7/UssKWA9Tx9L/8kwQbJoSEIwM1o87FvfOnBRXke5AFvbVasyGdQ== X-OriginatorOrg: live.com X-MS-Exchange-CrossTenant-Network-Message-Id: a743d977-5def-44d9-3329-08d83d3a5c9a X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2020 14:33:35.3956 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-AuthSource: HE1EUR04FT041.eop-eur04.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1EUR04HT164 Received-SPF: pass client-ip=40.92.73.33; envelope-from=arthur.miller@live.com; helo=EUR04-HE1-obe.outbound.protection.outlook.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/08/10 10:48:38 X-ACL-Warn: Detected OS = Windows NT kernel [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 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, FREEMAIL_FROM=0.001, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:253590 Archived-At: Lars Ingebrigtsen writes: > A nice thing about new, shiny machines with a bunch of cores is that it > makes saying "make bootstrap" faster when I want to check stuff. > > However, there's a couple of sections that are single-threaded, which > makes the machine mostly idle while building, and I wondered whether > anybody has looked into these things... > > I did a bootstrap (with make -j8) and timestamped the lines to see > whether anything in particular stands out. > > [larsi@stories ~/src/emacs/trunk]$ emake bootstrap 2>&1 | ts -s > 00:00:00 rm -f libXMenu11.a ./*.o deps/* > ... > > First deleting a lot of stuff... that's fine... > > 00:00:03 running CONFIG_SHELL=/bin/bash /bin/bash ./configure --no-create --no-recursion > 00:00:03 checking for xcrun... no > 00:00:03 checking for GNU Make... make > > [...] > > 00:00:22 config.status: executing etc-refcards-emacsver.tex commands > > > But I've also long wondered whether anybody has actually pruned the > tests lately? Are all those tests (for things that seem really trivial, > mostly) really necessary these days? I have wondered this for years when I am compiling/recompiling (mostly GNU) software. I think configure is great for configuring options, but I also wonder if it needs to check for all that C compiler portability. Since Emacs requires C99 compiler (as I understand) couldn't configure script just check for avialability of C99 standard, OS and compiler and assume the headers, flags and certain functions are avialable?In essence it already does this, but also checks for all kind of stuff that nowdays is standard (like stdlib.h, string.h etc). First checks on my system are those: 00:00:00 checking for GNU Make... make 00:00:00 checking build system type... x86_64-pc-linux-gnu 00:00:00 checking host system type... x86_64-pc-linux-gnu 00:00:00 checking for gcc... gcc So if configure already detected GCC does it really need to check for all those -fno-common and rest of the flags afterwards; couldn't it be assumed 'yes' to all those automatically? As well that we have stdint.h, limits.h and OS stuff sys/*.h, malloc, dirent, etc. I am not so knowledgable about autotools, but if there is for example not strnlen function avialable, would it be copied/added to system to by autotools or would it just bail out and says it can't create executable? For me it takes about 18 seconds to do all those tests, and 1 second to create makefiles, so it would be cool if configure script could skipp some of those tests. > And then ./configure takes 19 seconds, and that's fully single-threaded, > I believe? And... I'm guessing there's no way to get that to be > multi-threaded? As I read in autotools, lots of those tests will actually create small application, compile it, run it and record the result? Or do I missunderstand? Couldn't autotools devs, make those tests run in their own shell as asynchronous processes, write output to a file and then make a finall pass over all outputs and then decide to bail out/continue or take an action. I guess won't happen, just a rambling.