From nobody Tue Dec 13 22:18:06 2022 X-Original-To: freebsd-ports@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4NWtDX5d1tz4jhW4; Tue, 13 Dec 2022 22:18:20 +0000 (UTC) (envelope-from delphij@gmail.com) Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4NWtDX3Pwtz3n6M; Tue, 13 Dec 2022 22:18:20 +0000 (UTC) (envelope-from delphij@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wr1-x42e.google.com with SMTP id h10so17351072wrx.3; Tue, 13 Dec 2022 14:18:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=vyhj/NUp27N1urDGWZO8xfXcOWuvFscAJauJvKSdWNM=; b=bAIs1/fo72am6jQeiiiVbNcvBHxlenWp3DxaWVsU0RnJY65SHfHewsvRptpeGCuuq7 BS7Qf3MGrEjYk/rikp6L0N2dqYW+hqs5T85dq/XHN/Kh+FCdT2dywB+nniKypJ/JDh+m NnkohLYcEcCe9sT5463q2hr5IeTVN039Zn/crHkmdZUw+W54bg7qTwRxKzKVV547YDxL Mpq/SNPlcd/HU4ZpExlfLKYYpBl+JImHwXOOGEPKrq0VAops/tJj3dGjdqUc0nXUBsZN ESIP7w7cilK07wMpeKmzhbMTu4lqdEcgYLYwwXRUbFoGpMjXKYTukvLQP5pegir2W7C7 8kRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=vyhj/NUp27N1urDGWZO8xfXcOWuvFscAJauJvKSdWNM=; b=owg5x1x9ztdGQqCnEOIUZM4m/XOroTOEpGq4tfQuFqg+MlQTjS4xoXIM7TF5XWi3u7 9AaZm1iXlV56X1xnsyW5Q1mYrpAeEuKaN1pQd5rAej6pSH+U8LW0+ZWBaWkSTckBkBkh 7rEmI3lGQbaLQ8qR47GatHpqxEDIIXAiJr5vzCOgUUi5iuKROVtd2+jeBe5ghZk6Ewbr rxH7DyA7L8+AlYXIgHnXehnozPtGVHzo9vVe/JrFewiTfNxlIbLgJSEfvzLY83pD12pm 5jXhwSXN04OKnn3VPhUkYIlLTj1RWXSjW0uJMAtzSV006Ps0kRWxumPN40qWfhZKr+5e ewkA== X-Gm-Message-State: ANoB5pnmRwvJ4UEGuUq/pxNqv36GqIdp1ToVf+QnaXbOBtBTy/UNXgmq 9u8mtDcdgZJFJ52vATuk1fHD4yCipEmZBT2tDmhjYonQKLw= X-Google-Smtp-Source: AA0mqf7RljEtDB0T3OqY0c8NzNy/AD8G5cdnZ8/sIIld0sJ+ysuzPKi56ktoSbblLdfwEnRhe+HFsIiXRa9jTa8cF6U= X-Received: by 2002:adf:fd03:0:b0:242:5361:54ee with SMTP id e3-20020adffd03000000b00242536154eemr13172349wrr.667.1670969898722; Tue, 13 Dec 2022 14:18:18 -0800 (PST) List-Id: Porting software to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-ports List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-ports@freebsd.org X-BeenThere: freebsd-ports@freebsd.org MIME-Version: 1.0 References: In-Reply-To: From: Xin LI Date: Tue, 13 Dec 2022 14:18:06 -0800 Message-ID: Subject: Re: lang/rust is super slow to build To: Mel Pilgrim Cc: Pat Maddox , User Questions , freebsd-ports@freebsd.org Content-Type: multipart/alternative; boundary="0000000000003e6c2d05efbcff39" X-Rspamd-Queue-Id: 4NWtDX3Pwtz3n6M X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N --0000000000003e6c2d05efbcff39 Content-Type: text/plain; charset="UTF-8" On Tue, Dec 13, 2022 at 7:55 AM Mel Pilgrim wrote: > On 2022-12-12 11:27, Pat Maddox wrote: > > Using poudriere, lang/rust is at 2 hours and counting on my 10-core i9 > > w/ 128 gigs of RAM. > > > > Does that sound right? It seems extremely slow to me, but this is my > > first time building it. > > That sounds typical. You can use ccache and tmpfs to speed it up a > little bit, but both rust and llvm are computationally massive. > > Even worse, poudriere doesn't need to build it. If you aren't changing > its options there's no functional difference between building it locally > and installing from the public pkg repo. Poudriere does have the > ability to install from pkgs, but there is a 2-year-old bug that > prevents that feature from working correctly. > > I recommend everyone comment on issue #822 on the freebsd/poudriere > github[1] and explain how much of a pain it is that poudriere doesn't > have sane behaviour wrt dependencies. Maybe if enough people comment it > will spur a fix. > > 1: https://github.com/freebsd/poudriere/issues/822 IMHO the ports collection should provide and use prebuilt packages of compilers (LLVM, GCC, Rust, etc.) built from the FreeBSD packages builder, and ports framework (possibly also the base system) should be changed to use prebuilt packages by default, unless a) user requested to build everything from source, or b) no binary package is available for the platform combination, like a Tier-2 platform. The source ports for compilers should have all optimizations (like PGO, LTO, etc.) enabled by default, and require reasonably modern (perhaps newer than Sandy Bridge) processor features by default. It does not make sense for most users to build compilers from source all the time, because most of them don't make any changes that would affect the toolchain, which takes hours for them to build, even with beefy machines and with parallelism and caching enabled. For these users, it's just a waste of time and also increases their carbon footprint for nothing good. Cheers, --0000000000003e6c2d05efbcff39 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Tue, Dec 13, 2022 at 7:55 AM Mel= Pilgrim <list_freebsd@= bluerosetech.com> wrote:
On 2022-12-12 11:27, Pat Maddox wrote:
> Using poudriere, lang/rust is at 2 hours and counting on my 10-core i9=
> w/ 128 gigs of RAM.
>
> Does that sound right? It seems extremely slow to me, but this is my > first time building it.

That sounds typical.=C2=A0 You can use ccache and tmpfs to speed it up a little bit, but both rust and llvm are computationally massive.

Even worse, poudriere doesn't need to build it.=C2=A0 If you aren't= changing
its options there's no functional difference between building it locall= y
and installing from the public pkg repo.=C2=A0 Poudriere does have the
ability to install from pkgs, but there is a 2-year-old bug that
prevents that feature from working correctly.

I recommend everyone comment on issue #822 on the freebsd/poudriere
github[1] and explain how much of a pain it is that poudriere doesn't <= br> have sane behaviour wrt dependencies.=C2=A0 Maybe if enough people comment = it
will spur a fix.

1: https://github.com/freebsd/poudriere/issues/822



--0000000000003e6c2d05efbcff39--