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 <rick.macklem@gmail.com> = 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. 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:</div><div><br></div><div> - = 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!</div><div> - 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. 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=98do 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).</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>