>  * You must be using an in-tree OBJDIR.

Does it handle multiple in-tree objdirs? E.g. I have d64 (debug), o64
(opt), etc.

Nick


On Tue, Aug 7, 2018 at 11:18 PM, Jonathan Watt <jw...@jwatt.org> wrote:

> This is great! A big thank you to all the folks who have worked for so
> long to
> get us to this stage. I'm really looking forward to this work maturing and
> extending to other platforms.
>
> I've done a bit of testing on my workstation (14 core/28 thread i9, U.2
> connected NVMe SSD, 64 GB DDR4 RAM) and got the following build times:
>
> For -j28 (yes, -j28 is well into diminishing returns territory, but I
> wanted a
> comparison of the best case scenarios for both backends):
>
>       |      cold       |    top-level
>       |  initial build  |  no-op rebuild
> ------------------------------------------
> make  |      8m 10s     |       15s
> tup   |      6m 35s     |        1.4s
>
> And for -j8:
>
>       |      cold       |    top-level
>       |  initial build  |  no-op rebuild
> ------------------------------------------
> make  |     11m 33s     |       15s
> tup   |     10m 52s     |        1.4s
>
> (To confirm: the rebuild numbers are the same for both -j28 and -j8.)
>
> So a 20% reduction in build time on cold builds of a fresh tree with -j28,
> and
> 6% reduction with -j8. In addition to speeding up the build, Tup seems to
> parallelize better which is great! Of course the highlight is the big
> reduction
> in rebuild overhead which will make the edit-compile-run cycle a lot less
> annoying (for me, 50s down to 37s after touching nsDocumentViewer.cpp,
> rebuilding, and linking libxul, for both -j28 and -j8.)
>
> These improvements, plus the promise of rarely having to clobber/figure out
> which directories to rebuild in, put a big smile on my face. (Currently
> having
> to turn off CARGO_INCREMENTAL, not being able to use sccache and other
> current
> limitations, less so, but it's early days. :) )
>
> A few notes for others trying this out (thanks cmanchester and mshal for
> the
> help debugging some of these):
>
>   * Make sure you use:
>
>       --enable-build-backends=Tup
>
>     not:
>
>       --enable-build-backend=Tup
>
>   * You must be using an in-tree OBJDIR.
>
>   * MOZ_PARALLEL_BUILD isn't currently recognized, so you'll need to use
>     `mach build`s -j argument to control the parallel job count for now
>     ( see https://bugzilla.mozilla.org/show_bug.cgi?id=1481441 )
>
> mshal: I think you could cross-post this to dev-platform for wider
> testing. I
> know there are a bunch of caveats (which people should be made aware of),
> but
> since the initial teething issues I had were figured out I've so far had no
> other problems building, or rebuilding with real code changes.
>
> Jonathan
>
> On 02/08/2018 16:34, Michael Shal wrote:
> > Hi everyone,
> >
> >
> > Tup is a modern build system that enables fast and correct builds. I'm
> pleased
> > to announce the availability of Tup for building Firefox on Linux.
> Compared to
> > Make, building with Tup will result in faster incremental build times
> and reduce
> > the need for clobber builds. See the in-tree docs for details [1].
> >
> >
> > We’re looking for some early adopters to try it out and let us know if it
> > improves your workflow, or if you hit any blockers or barriers to
> adoption that
> > keep you on the Make backend for now.
> >
> >
> > Quick howto:
> >
> >
> > You’ll need to install the Tup executable, as well as the nightly
> rust/cargo
> > toolchain:
> >
> >
> > cd ~/.mozbuild && mach artifact toolchain --from-build linux64-tup
> > rustup install nightly
> > rustup default nightly
> >
> > Your mozconfig needs to describe how to find the executable if it’s not
> in your
> > PATH, and enable the Tup backend:
> >
> >
> > export TUP=~/.mozbuild/tup/tup
> > ac_add_options --enable-build-backends=Tup
> >
> >
> > If you have any issues, feel free to file a bug blocking “buildtup” [2],
> or
> > contact mshal or chmanchester in #build on IRC.
> >
> > [1] https://firefox-source-docs.mozilla.org/build/buildsystem/tup.html
> >
> > [2] https://bugzilla.mozilla.org/show_bug.cgi?id=buildtup
> >
> >
> > Thanks!
> >
> > -Mike
> >
> >
>
> _______________________________________________
> dev-builds mailing list
> dev-builds@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-builds
>
_______________________________________________
dev-builds mailing list
dev-builds@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-builds

Reply via email to