From owner-freebsd-stable@freebsd.org Mon Oct 2 20:18:58 2017 Return-Path: Delivered-To: freebsd-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0A2E4E26E37 for ; Mon, 2 Oct 2017 20:18:58 +0000 (UTC) (envelope-from mack@macktronics.com) Received: from borg.macktronics.com (gw.macktronics.com [209.181.253.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DD8987682F for ; Mon, 2 Oct 2017 20:18:57 +0000 (UTC) (envelope-from mack@macktronics.com) Received: from pandora.local (olive.macktronics.com [209.181.253.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by borg.macktronics.com (Postfix) with ESMTPS id E8238115; Mon, 2 Oct 2017 15:18:55 -0500 (CDT) From: Dan Mack To: Mike Tancsa Cc: freebsd-stable@freebsd.org Subject: Re: my build time impact of clang 5.0 References: Date: Mon, 02 Oct 2017 15:18:54 -0500 In-Reply-To: (Mike Tancsa's message of "Mon, 2 Oct 2017 15:19:11 -0400") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (darwin) MIME-Version: 1.0 Content-Type: text/plain X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Oct 2017 20:18:58 -0000 Mike Tancsa writes: > On 10/2/2017 2:34 PM, Dan Mack wrote: >> >> Another significant change in build times this week - not complaining, >> just my observations on build times; same server doing buildworld during >> the various phases of compiler changes over the last year or so FWIW: > > Kernel seems to be about the same since 4.x Perhaps the added > buildworld time is due to a larger feature set of clang 5.x and hence > takes longer to build itself ? e.g. more platforms supported etc ? My scripts are pretty coarse grained so I only have timings at the macro build steps so far (buildworld, buildkernel, installkernel, and installworld) I'm going to update them so I can a little more granularity; should be easy to get timings wrapped around the big sections, for example: >>> World build started on Mon Oct 2 07:49:56 CDT 2017 >>> Rebuilding the temporary build tree >>> stage 1.1: legacy release compatibility shims >>> stage 1.2: bootstrap tools >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3: cross tools >>> stage 3.1: recording compiler metadata >>> stage 4.1: building includes >>> stage 4.2: building libraries >>> stage 4.3: building everything >>> stage 5.1: building lib32 shim libraries >>> World build completed on Mon Oct 2 12:30:02 CDT 2017 Dan >> -STABLE amd64 >> |--------------+--------------+---------------+----------+-----------| >> | Ver (svn-id) | World (mins) | Kernel (mins) | Relative | Comment | >> |--------------+--------------+---------------+----------+-----------| >> | 292733 | 90 | 16 | 0.5 | | >> | 299948 | 89 | 16 | 0.5 | | >> | 322724 | 174 | 21 | 1.0 | clang 4.x | >> | 323310 | 175 | 21 | 1.0 | clang 4.x | >> | 323984 | 175 | 21 | 1.0 | clang 4.x | >> | 324130 | 285 | 21 | 1.6 | clang 5.x | >> | 324204 | 280 | 21 | 1.6 | clang 5.x | >> |--------------+--------------+---------------+----------+-----------|