On Mon, Aug 25, 2014 at 3:18 PM, Mike Hommey <m...@glandium.org> wrote:
> On Mon, Aug 25, 2014 at 12:24:53PM -0700, Eric Rescorla wrote: > > On Mon, Aug 25, 2014 at 8:37 AM, Gregory Szorc <g...@mozilla.com> wrote: > > > > > On 8/22/14 9:08 AM, Ehsan Akhgari wrote: > > > > > >> Unfortunately I don't really understand the reasons behind this, but > if > > >> you > > >> use this command, please know that it doesn't work properly any more, > even > > >> if it seems to work in some cases. AFAICT the workarounds are either > > >> doing > > >> a full build or ./mach build binaries (I don't really know what > things the > > >> latter supports these days.) > > >> > > >> Please see https://bugzilla.mozilla.org/show_bug.cgi?id=1055204 for > the > > >> discussion about this. > > >> > > > > > > I'd like to re-frame this a bit. > > > > > > How fast do "no-op" / light builds need to be for |mach build > > > <subdirectory>| to not exist? > > > > > > The reason people do partial builds is because the full tree build > isn't > > > fast enough: if full tree builds completely instantaneously, we > wouldn't > > > need partial tree builds. People like |mach build binaries| because > it's > > > fast and gets the job done. Regular no-op builds currently take ~50s > on my > > > MBP. That's ~50s of overhead. We can do better. > > > > > > As a build peer, partial tree builds are a thorn in my side. We have to > > > consider and try to support them. It's non-trivial. I'd prefer if they > were > > > unsupported and went away. > > > > > > What amount of overhead for full builds is tolerable before we can > > > officially kill support for partial builds? While I'd like to say we > can > > > deliver "instantaneous," that's not realistic unless we actively > invest in > > > it. I wrote patches over the weekend that decrease no-op builds from > ~50s > > > to ~37s. It's noticeably faster. I think we could get it down to 20s > with a > > > few days of work. 10s with a few weeks of work. Any faster will likely > > > require a non make-based build backend. > > > > > > I'm going to say that 15s no-op build times is fast enough that we can > > > kill partial tree building support, or at least cripple it so it > doesn't do > > > so much. Keep in mind that |mach build binaries| today is ~6.5s, and > that's > > > without modifications. Modify a .cpp file affecting libxul and you are > up > > > to ~12.5s. > > > > > > I experience much longer build times on my Macbook Air: > > A no-op ./mach build binaries is 44 seconds. > > That can't be a no-op. Two builds one after the other give me: 18.639u 11.022s 0:40.86 72.5% 0+0k 34016+1852io 2220pf+0w 18.413u 9.872s 0:33.63 84.0% 0+0k 27653+248io 1037pf+0w > There must be something it's compiling and it > must be linking libxul. If so, that seems like a bug in the build system. -Ekr > And yes, that is not going to magically get > faster than the time it takes to link libxul. > > Mike > _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform