Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ncyxU-0007Os-4j for pgsql-hackers@arkaria.postgresql.org; Sat, 09 Apr 2022 00:28:08 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1ncyxR-00020H-Jq for pgsql-hackers@arkaria.postgresql.org; Sat, 09 Apr 2022 00:28:05 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ncyxR-000207-7i for pgsql-hackers@lists.postgresql.org; Sat, 09 Apr 2022 00:28:05 +0000 Received: from mail-il1-x131.google.com ([2607:f8b0:4864:20::131]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1ncyxO-0004Us-19 for pgsql-hackers@postgresql.org; Sat, 09 Apr 2022 00:28:04 +0000 Received: by mail-il1-x131.google.com with SMTP id d4so6907645iln.6 for ; Fri, 08 Apr 2022 17:28:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telsasoft-com.20210112.gappssmtp.com; s=20210112; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=fuSTY8NpQ03LZH9/NfqLX8C5xTyVVlNzdvRpVmh0eDk=; b=3JVA5rmfovQKvWTLE/YBIPz0w8ZNv2YbpseQK+FwZwoifie9f9rNsHWDjila6PK8D4 4k5M5Gqk1bsUiVNw9EbFr7kbW5iEgt1O6uqj08gGD3jEjIBP6HihSxCdO9iOYNQx27Ym dtDRwrtgBd7yoIWu/fGEkyt2BcW0l6SPVxSgqBYtcR4CSIFnmxszzWy5MSMo5mxCXt+/ soPHCgk48ia362KYJxRgH7hJPrmQfg5EPO17GemZ+EmnDRhPFbx8Zo3YQPSq4pbFpVCX gEfRgjS0yPUZXX9HXHm7c1susnX1Jh8xP81IYANltfkE5mDdJbL8nyJTW8Di/CkSOJxp YZng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=fuSTY8NpQ03LZH9/NfqLX8C5xTyVVlNzdvRpVmh0eDk=; b=oGixGnpP4VpuiT6O3GcWLzJBTuxR8CkRa+ZZ0SRrvS2ZgNASJnkRKsvIQrNlm35ov4 kPs6IPeHEhfX8Bcdq5LzPjQfSxQkkJMbXPfIcpq7oArgY06EZYalHTwewnURWf5OiCBe QvusLenuuBKFKoniW3Da708+58kInXzqK0AMGi8eGu9EJgOn+QRR1ndtqJxLbUhvJL1i Rs5vdWlX/t6VuMTYJWzzNU/zr8d0ZkkvTQ+rNa2eEMcx1NpiLlh0tTI3zEkOLR1SVrAM tiQwKwXazdbnGBNCt9IXlX45vgv0KYUrqEsPbDCbWKxVd8lh3p+bt6UTU5QFyVzCU77x tjjA== X-Gm-Message-State: AOAM531CdHLL2zLpxoB3+WL5FDh8RFkZCL8n+XqCUp53BfPtyOPIz5Vy RGlnKNRUK3QA98o5jk2QwhUmAQ== X-Google-Smtp-Source: ABdhPJwV6idVD+ZsQgkCB7+Ak1/quKgFnBHC2Liw+/xl16HtQNykQZS9BuQUrd/xIjLQ4ulBGb37kA== X-Received: by 2002:a92:ddc7:0:b0:2c2:91f5:146b with SMTP id d7-20020a92ddc7000000b002c291f5146bmr9815814ilr.21.1649464079642; Fri, 08 Apr 2022 17:27:59 -0700 (PDT) Received: from pryzbyj.telsasoft (charmander.telsasoft.com. [50.244.222.1]) by smtp.gmail.com with ESMTPSA id v123-20020a6bac81000000b0064f8bce0b76sm307167ioe.44.2022.04.08.17.27.58 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 08 Apr 2022 17:27:59 -0700 (PDT) Received: by pryzbyj.telsasoft (Postfix, from userid 1000) id 41798800E4F; Fri, 8 Apr 2022 19:27:58 -0500 (CDT) Date: Fri, 8 Apr 2022 19:27:58 -0500 From: Justin Pryzby To: Andres Freund Cc: Andrew Dunstan , Melih Mutlu , pgsql-hackers@postgresql.org Subject: Re: Mingw task for Cirrus CI Message-ID: <20220409002758.GM24419@telsasoft.com> References: <20220322001559.mln5mexnhvijuntn@alap3.anarazel.de> <20220331002618.npsfms3sijof7z7n@alap3.anarazel.de> <99db8656-9722-65c4-39b7-59fc14670c66@dunslane.net> <20220407171021.h5cnwfs355zdug7v@alap3.anarazel.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220407171021.h5cnwfs355zdug7v@alap3.anarazel.de> User-Agent: Mutt/1.9.4 (2018-02-28) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Thu, Apr 07, 2022 at 10:10:21AM -0700, Andres Freund wrote: > Hi, > > On 2022-04-06 11:03:37 -0400, Andrew Dunstan wrote: > > On 3/30/22 20:26, Andres Freund wrote: > > > Could you try using dash to invoke configure here, and whether it makes configure faster? > > I got weird failures re libxml/parser.h when I tried with dash. See > > (It would be nice if we > > could see config.log on failure.) > > Since dash won't help us to get the build time down sufficiently, and the > tests don't pass without a separate build tree, I looked at what makes > config/prep_buildtree so slow. > > It's largely just bad code. The slowest part are spawning one expr and mkdir > -p for each directory. One 'cmp' for each makefile doesn't help either. > > The expr can be replaced with > subdir=${item#$sourcetree} > that's afaics posix syntax ([1]), not bash. > > Spawning one mkdir for each directory can be replaced by a single mkdir > invocation with all the directories. On my linux workstation that gets the > time for the first loop down from 1005ms to 38ms, really. Even better? (cd "$sourcetree" && find . -print |grep -E '/Makefile$|/GNUmakefile$' |grep -v "$sourcetree/doc/src/sgml/images/" |xargs tar c) | (cd "$buildtree" && tar x)