Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Sep 2024 09:47:37 +0100
From:      David Chisnall <theraven@FreeBSD.org>
To:        Rick Macklem <rick.macklem@gmail.com>
Cc:        Tomek CEDRO <tomek@cedro.info>, Alexander Leidinger <Alexander@leidinger.net>, Poul-Henning Kamp <phk@phk.freebsd.dk>, freebsd-hackers@freebsd.org
Subject:   Re: It's not Rust, it's FreeBSD (and LLVM)
Message-ID:  <FD75B303-1F5B-4157-9015-2797DF9008DF@FreeBSD.org>
In-Reply-To: <CAM5tNy7iMht9XiDP4VMHMFEhQWyP3u%2BksuQh3HaOcVRgS=GMeA@mail.gmail.com>
References:  <202409031532.483FW0If007252@critter.freebsd.dk> <908e7c45fbcea4634427b8d065bb2f20@Leidinger.net> <202409081302.488D2UvB069580@critter.freebsd.dk> <1aa702e57e63f927b687212820e97f8c@Leidinger.net> <CAFYkXjnOxJuY5sOkuNBU4c4t1XDa7dXdf1EXU=%2BTWGoxmPTdAA@mail.gmail.com> <CAM5tNy7iMht9XiDP4VMHMFEhQWyP3u%2BksuQh3HaOcVRgS=GMeA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail=_6E17609B-F3BE-4E6A-B88D-4B638A5172DD
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

On 9 Sep 2024, at 23:12, Rick Macklem <rick.macklem@gmail.com> wrote:
>=20
> As for build times, I already find "make buildworld" takes way too =
long
> for me, so adding another ginormous compiler won't make much =
difference.

As with so many other things, this would be addressable if someone had =
the time to do it.  A single developer at Microsoft can edit the code =
and build their own custom Windows VM image on a fairly low-end laptop, =
in spite of the fact that most laptops don=E2=80=99t have enough disk =
space for a full git clone of the Windows source tree.  This is possible =
because of a combination of two things:

 - git-vfs lets you have a local view of a remote git repo and fetches =
files on demand as they=E2=80=99re accessed.  Don=E2=80=99t run `grep` =
over your source tree!
 - A build system that has cloud caching, so if you have changed one =
file you=E2=80=99ll rebuild everything that depends on that file but =
download the artefacts for everything else.

It=E2=80=99s a bit sad that building Windows typically takes a developer =
less time than building FreeBSD.  The engineering effort involved in the =
second part is huge though.  It would probably need the Foundation to =
pay someone to work on it for a year (I think this would be well worth =
the investment, but that=E2=80=99s another discussion).  I=E2=80=99m not =
sure if bmake can be extended enough to support this (Buck2 looks to be =
the most promising of the new build systems designed around this model =
but it hasn=E2=80=99t yet had a stable release and comes with big =E2=80=98=
do not use this yet=E2=80=99 warnings).  This would also need =
infrastructure to make sure each commit to head or a stable branch was =
built in a trusted environment and pushed to the caches (and that random =
developers=E2=80=99 builds did not).

David


--Apple-Mail=_6E17609B-F3BE-4E6A-B88D-4B638A5172DD
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"content-type" content=3D"text/html; =
charset=3Dutf-8"></head><body style=3D"overflow-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;">On 9 Sep 2024, =
at 23:12, Rick Macklem &lt;rick.macklem@gmail.com&gt; =
wrote:<br><div><blockquote type=3D"cite"><br =
class=3D"Apple-interchange-newline"><div><span style=3D"caret-color: =
rgb(0, 0, 0); font-family: SourceCodePro-Regular; font-size: 12px; =
font-style: normal; font-variant-caps: normal; font-weight: 400; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; =
display: inline !important;">As for build times, I already find "make =
buildworld" takes way too long</span><br style=3D"caret-color: rgb(0, 0, =
0); font-family: SourceCodePro-Regular; font-size: 12px; font-style: =
normal; font-variant-caps: normal; font-weight: 400; letter-spacing: =
normal; text-align: start; text-indent: 0px; text-transform: none; =
white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;"><span style=3D"caret-color: rgb(0, 0, 0); =
font-family: SourceCodePro-Regular; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: 400; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;">for me, =
so adding another ginormous compiler won't make much =
difference.</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
SourceCodePro-Regular; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: 400; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;"></div></blockquote></div><br><div>As with so =
many other things, this would be addressable if someone had the time to =
do it. &nbsp;A single developer at Microsoft can edit the code and build =
their own custom Windows VM image on a fairly low-end laptop, in spite =
of the fact that most laptops don=E2=80=99t have enough disk space for a =
full git clone of the Windows source tree. &nbsp;This is possible =
because of a combination of two things:</div><div><br></div><div>&nbsp;- =
git-vfs lets you have a local view of a remote git repo and fetches =
files on demand as they=E2=80=99re accessed. &nbsp;Don=E2=80=99t run =
`grep` over your source tree!</div><div>&nbsp;- A build system that has =
cloud caching, so if you have changed one file you=E2=80=99ll rebuild =
everything that depends on that file but download the artefacts for =
everything else.</div><div><br></div><div>It=E2=80=99s a bit sad that =
building Windows typically takes a developer less time than building =
FreeBSD. &nbsp;The engineering effort involved in the second part is =
huge though. &nbsp;It would probably need the Foundation to pay someone =
to work on it for a year (I think this would be well worth the =
investment, but that=E2=80=99s another discussion). &nbsp;I=E2=80=99m =
not sure if bmake can be extended enough to support this (Buck2 looks to =
be the most promising of the new build systems designed around this =
model but it hasn=E2=80=99t yet had a stable release and comes with big =
=E2=80=98do not use this yet=E2=80=99 warnings). &nbsp;This would also =
need infrastructure to make sure each commit to head or a stable branch =
was built in a trusted environment and pushed to the caches (and that =
random developers=E2=80=99 builds did =
not).</div><div><br></div><div>David</div><div><br></div></body></html>=

--Apple-Mail=_6E17609B-F3BE-4E6A-B88D-4B638A5172DD--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FD75B303-1F5B-4157-9015-2797DF9008DF>