Re: Faster builds, now ; on windows, too.

2013-10-23 Thread Neil

Mike Hommey wrote:


On Tue, Oct 22, 2013 at 10:06:13AM +0100, Neil wrote:
 


David Rajchenbach-Teller wrote:


Wouldn't it be interesting to also have a ./mach build frontend that repackages 
XUL and js code?


Does ./mach build chrome work?
   


make chrome/mach build chrome doesn't do everything that is not code, sadly.

I guess it depends on which js code; from the mention of XUL I was 
assuming anything with a chrome: URL.


--
Warning: May contain traces of nuts.
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Faster builds, now ; on windows, too.

2013-10-22 Thread Neil

David Rajchenbach-Teller wrote:


Wouldn't it be interesting to also have a
 ./mach build frontend
that repackages XUL and js code?
 

Does ./mach build chrome work? (I don't think it's parallelised though.) 
Hopefully a combination of bug 929147 with bug 921003 will speed it up.


--
Warning: May contain traces of nuts.
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Faster builds, now ; on windows, too.

2013-10-22 Thread Avi Hal
(On win7, i7 @3.2GHz) Clobber build from 29 mins down to 24, no-op build from 
some minutes to 16s! \o/
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Faster builds, now ; on windows, too.

2013-10-22 Thread Mike Hommey
On Tue, Oct 22, 2013 at 10:06:13AM +0100, Neil wrote:
 David Rajchenbach-Teller wrote:
 
 Wouldn't it be interesting to also have a
  ./mach build frontend
 that repackages XUL and js code?
 
 Does ./mach build chrome work? (I don't think it's parallelised
 though.) Hopefully a combination of bug 929147 with bug 921003 will
 speed it up.

make chrome/mach build chrome doesn't do everything that is not code,
sadly. We will move towards that, though, maybe in another target
(chrome is probably not the right name for that).

Mike
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Faster builds, now ; on windows, too.

2013-10-21 Thread Avi Hal
On Wednesday, October 16, 2013 4:43:03 PM UTC+3, Mike Hommey wrote:
...
 - Build with:
 
 ./mach build
 
 
 After you built once, you can do edit-compile-edit-compile cycles with:
 
 ./mach build binaries


So what's the difference between |./mach build| and |./mach build binaries|? 
would such difference exist also after updating mozillabuild with the new 
mozmake (or the new make)?
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Faster builds, now ; on windows, too.

2013-10-21 Thread Gregory Szorc
On 10/21/2013 9:47 AM, Avi Hal wrote:
 On Wednesday, October 16, 2013 4:43:03 PM UTC+3, Mike Hommey wrote:
 ...
 - Build with:

 ./mach build


 After you built once, you can do edit-compile-edit-compile cycles with:

 ./mach build binaries
 
 
 So what's the difference between |./mach build| and |./mach build binaries|? 
 would such difference exist also after updating mozillabuild with the new 
 mozmake (or the new make)?

https://ci.mozilla.org/job/mozilla-central-docs/Build_Documentation/build-targets.html
answers the first part.

In addition, mozmake should be faster than pymake in almost all
circumstances.

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Faster builds, now ; on windows, too.

2013-10-21 Thread David Rajchenbach-Teller
Wouldn't it be interesting to also have a
  ./mach build frontend
that repackages XUL and js code?


On 10/21/13 6:53 PM, Gregory Szorc wrote:
 So what's the difference between |./mach build| and |./mach build binaries|? 
 would such difference exist also after updating mozillabuild with the new 
 mozmake (or the new make)?
 
 https://ci.mozilla.org/job/mozilla-central-docs/Build_Documentation/build-targets.html
 answers the first part.
 
 In addition, mozmake should be faster than pymake in almost all
 circumstances.
 
 ___
 dev-platform mailing list
 dev-platform@lists.mozilla.org
 https://lists.mozilla.org/listinfo/dev-platform
 


-- 
David Rajchenbach-Teller, PhD
 Performance Team, Mozilla
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Faster builds, now ; on windows, too.

2013-10-21 Thread Gregory Szorc
On the Q4 goals list. Bug 929147.

On 10/21/2013 2:47 PM, David Rajchenbach-Teller wrote:
 Wouldn't it be interesting to also have a
   ./mach build frontend
 that repackages XUL and js code?
 
 
 On 10/21/13 6:53 PM, Gregory Szorc wrote:
 So what's the difference between |./mach build| and |./mach build 
 binaries|? would such difference exist also after updating mozillabuild 
 with the new mozmake (or the new make)?

 https://ci.mozilla.org/job/mozilla-central-docs/Build_Documentation/build-targets.html
 answers the first part.

 In addition, mozmake should be faster than pymake in almost all
 circumstances.

 ___
 dev-platform mailing list
 dev-platform@lists.mozilla.org
 https://lists.mozilla.org/listinfo/dev-platform

 
 

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Faster builds, now ; on windows, too.

2013-10-21 Thread Gijs Kruitbosch

I tend to use something like

./mach build browser/base browser/components browser/themes 
browser/locales browser/devtools


(obviously including only the directories where I changed stuff)

Which is fast and works.

~ Gijs

On 21/10/13 23:47 , David Rajchenbach-Teller wrote:

Wouldn't it be interesting to also have a
   ./mach build frontend
that repackages XUL and js code?


On 10/21/13 6:53 PM, Gregory Szorc wrote:

So what's the difference between |./mach build| and |./mach build binaries|? 
would such difference exist also after updating mozillabuild with the new 
mozmake (or the new make)?


https://ci.mozilla.org/job/mozilla-central-docs/Build_Documentation/build-targets.html
answers the first part.

In addition, mozmake should be faster than pymake in almost all
circumstances.

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform






___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Faster builds, now ; on windows, too.

2013-10-16 Thread Mike Hommey
Hi,

Episode 1 was the You want faster builds, don't you thread.
Episode 2 was the Faster builds, now thread.
Here comes episode 3.

I'm sure fellow developers building on Windows felt sad that they were
left out on the recent build improvements. Rejoice at last, as we are
now bringing those to you.

As of current mozilla-inbound, and I'm sure mozilla-central soon, it
only takes a few steps:

- Download the mozmake binary from
  http://people.mozilla.org/~mhommey/mozmake.exe and place it in some
  location in your $PATH. c:\mozilla-build\msys\local\bin is probably
  good for most people. See bug 927213 if you want to know how it was
  built. It will eventually be shipped in next release of MozillaBuild.
- Add the following to your mozconfig:
export MOZ_PSEUDO_DERECURSE=no-pymake
  (Note this should become the default next week)
- Build with:
./mach build

After you built once, you can do edit-compile-edit-compile cycles with:
./mach build binaries

Enjoy the faster build times.

Cheers,

Mike

PS: mozmake is also being tested on the birch branch, and it is showing
promising turnaround times on Windows build slaves (-35 minutes on opt
builds, -1 hour on debug builds ; most of which is, surprisingly, is
gained on make check, see
https://bugzilla.mozilla.org/show_bug.cgi?id=925605#c13 )
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Faster builds, now ; on windows, too.

2013-10-16 Thread Chris Pearce
Thanks for putting this together, and thanks to everybody working on 
making the build faster and thus making us all more productive. This 
sped up clobber build times on Windows for me by 6 minutes, around 22%, 
which is great. Some of us can't switch to a *nix based platform in 
order to get faster builds, so thanks very much.


Cheers,
Chris P.




On 17-Oct-13 2:43 AM, Mike Hommey wrote:

Hi,

Episode 1 was the You want faster builds, don't you thread.
Episode 2 was the Faster builds, now thread.
Here comes episode 3.

I'm sure fellow developers building on Windows felt sad that they were
left out on the recent build improvements. Rejoice at last, as we are
now bringing those to you.

As of current mozilla-inbound, and I'm sure mozilla-central soon, it
only takes a few steps:

- Download the mozmake binary from
   http://people.mozilla.org/~mhommey/mozmake.exe and place it in some
   location in your $PATH. c:\mozilla-build\msys\local\bin is probably
   good for most people. See bug 927213 if you want to know how it was
   built. It will eventually be shipped in next release of MozillaBuild.
- Add the following to your mozconfig:
 export MOZ_PSEUDO_DERECURSE=no-pymake
   (Note this should become the default next week)
- Build with:
 ./mach build

After you built once, you can do edit-compile-edit-compile cycles with:
 ./mach build binaries

Enjoy the faster build times.

Cheers,

Mike

PS: mozmake is also being tested on the birch branch, and it is showing
promising turnaround times on Windows build slaves (-35 minutes on opt
builds, -1 hour on debug builds ; most of which is, surprisingly, is
gained on make check, see
https://bugzilla.mozilla.org/show_bug.cgi?id=925605#c13 )


___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Faster builds, now ; on windows, too.

2013-10-16 Thread Nicholas Nethercote
On Wed, Oct 16, 2013 at 6:43 AM, Mike Hommey m...@glandium.org wrote:

 I'm sure fellow developers building on Windows felt sad that they were
 left out on the recent build improvements. Rejoice at last, as we are
 now bringing those to you.

In case you're interested how this happened... AIUI, these
improvements are because make 4.0 came out and it actually implements
-jN properly on Windows, and with -jN working it's faster than pymake.

(Well, almost properly, which is why glandium had to fix some things.
Presumably/hopefully his fixes will end up in make 4.01 soon.)

Nick
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Faster builds, now ; on windows, too.

2013-10-16 Thread Mike Hommey
On Wed, Oct 16, 2013 at 08:09:23PM -0700, Nicholas Nethercote wrote:
 On Wed, Oct 16, 2013 at 6:43 AM, Mike Hommey m...@glandium.org wrote:
 
  I'm sure fellow developers building on Windows felt sad that they were
  left out on the recent build improvements. Rejoice at last, as we are
  now bringing those to you.
 
 In case you're interested how this happened... AIUI, these
 improvements are because make 4.0 came out and it actually implements
 -jN properly on Windows, and with -jN working it's faster than pymake.
 
 (Well, almost properly, which is why glandium had to fix some things.
 Presumably/hopefully his fixes will end up in make 4.01 soon.)

(FYI, FWIW)

-jN itself works properly. I just had to patch for unrelated issues,
namely:
  - a typo that makes $(info), $(warning) and $(error) unreliable at
best, or crashy at worst.
  - attempt to execute msys-path programs (e.g. /usr/bin/install) with
CreateProcess() (yeah, that doesn't work well)
  - enable a builtin workaround for sh.exe not working very very well
with quotes in a sh -c  command.

The latter is a #define in config.h that exists for that purpose but is
not enabled by default, the former two are submitted upstream.

Mike
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Faster builds, now.

2013-10-07 Thread Gijs Kruitbosch

On 07/10/13 14:11 , Honza Bambas wrote:

Is this supposed to work on Windows too?

a clobbered build of up to date m-c with export MOZ_PSEUDO_DERECURSE=1
gives me an error during configure phase (./mach build):



No:


On 10/2/2013 3:17 AM, Mike Hommey wrote:

snip
Except if you're using pymake, sadly.
snip


~ Gijs
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Faster builds, now.

2013-10-02 Thread Ehsan Akhgari
I just did a no-op ./mach build binaries on my debug build on a Mac, and 
it took about 28 seconds.


$ time ./mach build binaries
 0:01.96 /usr/bin/make -j8 -s binaries
 0:12.19 From ./dist/public: Kept 0 existing; Added/updated 0; Removed 
0 files and 0 directories.
 0:12.22 From ./dist/sdk: Kept 0 existing; Added/updated 0; Removed 0 
files and 0 directories.
 0:12.38 From ./dist/private: Kept 0 existing; Added/updated 0; Removed 
0 files and 0 directories.
 0:12.70 From ./dist/bin: Kept 0 existing; Added/updated 0; Removed 0 
files and 0 directories.
 0:13.09 From ./dist/idl: Kept 1155 existing; Added/updated 0; Removed 
0 files and 0 directories.
 0:13.11 From ./dist/include: Kept 3519 existing; Added/updated 0; 
Removed 0 files and 0 directories.
 0:20.46 From _tests: Kept 11158 existing; Added/updated 0; Removed 0 
files and 0 directories.

Your build was successful!

real0m28.291s
user0m8.685s
sys 0m4.178s

Do you have any plans to bring down the overhead?  Do you know where 
this overhead is coming from?


Thanks!
Ehsan


On 2013-10-01 9:17 PM, Mike Hommey wrote:

Hi,

If you've read the You want faster builds, don't you thread, you may
know that some build improvements have recently landed.

I just landed the most important part of it all, and we should now be in
a much better place, but, as I'm very cautious, and as this is
incremental improvements to an existing complex build system that is
hard to improve all at once without some subtle breakages, this is
opt-in. It also doesn't work with pymake because of bug 918652.

At this point, you probably want to know what it is and how to use it.

There is now a new target for incremental C/C++ rebuilds. What this means
is, you build once like usual. Then after you do your C/C++ changes,
instead of:
   - mach build or make -C objdir, which takes forever
   - mach build subdirectory/of/the/changes, which sometimes rebuilds
 toolkit/library, sometimes not, depending what you're rebuilding.
   - make -C objdir/subdirectory/of/the/changes  make -C
 objdir/toolkit/library, which may actually not be enough.
you can now do:
   - mach build binaries
 or
   - make -C objdir binaries

It will rebuild your changes and everything that needs rebuilding because
of them. It will also do that quickly.

There are a few caveats:
- it only handles C/C++ changes, including headers. It doesn't handle js
   modules, chrome data, etc.
- it does *not* handle changes to xpidl, webidl, ipdl. yet. There's a
   followup for this to happen: bug 921309.
- it doesn't handle changes to nss, nspr, icu or ffi. If you do changes
   there, you still need to run a normal build.
- it doesn't work without doing a normal build first.
- while it shouldn't break your builds, it might subtly skip what you
   would expect it to build. If it does, please file a bug or contact me
   on irc. You can still use the old ways until your issues are fixed.

Something else that I landed today is support to skip directories during
a normal build when they're not relevant to the build. As always, I'm
overcautious and this is opt-in. If you want to opt-in for this (and
future experimental improvements), please add export
MOZ_PSEUDO_DERECURSE=1 to your mozconfig. Except if you're using
pymake, sadly. The more people test those experimental improvements, the
quicker they can become the default for everyone.

For those interested in the gory details, I'll post some on my blog within
the next few days.

Mike
___
dev-builds mailing list
dev-bui...@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-builds



___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Faster builds, now.

2013-10-02 Thread Gregory Szorc

8.8s here!

~1.5 is startup and checking the build backend is up to date (lots of stats)
~1.5s is processing install manifests.
Rest is make processing.

The fact that your machine spent ~20s doing install manifest processing 
tells me:


a) Your directory tree wasn't cached (try running again)
b) Your I/O layer is slow (I'm building with an SSD)
c) Something else wonky creating slow I/O

 0:00.14 /usr/bin/make -j8 binaries
 0:00.53 MOZBUILD_BACKEND_CHECKED= /usr/bin/make -C js/src 
backend.RecursiveMakeBackend.built

 0:00.82 make[1]: `backend.RecursiveMakeBackend.built' is up to date.
 0:01.16 MOZBUILD_BACKEND_CHECKED= /usr/bin/make -C js/src 
backend.RecursiveMakeBackend.built

 0:01.45 make[2]: `backend.RecursiveMakeBackend.built' is up to date.
 0:01.56 From ./dist/public: Kept 0 existing; Added/updated 0; Removed 
0 files and 0 directories.
 0:01.56 From ./dist/sdk: Kept 0 existing; Added/updated 0; Removed 0 
files and 0 directories.
 0:01.57 From ./dist/private: Kept 0 existing; Added/updated 0; Removed 
0 files and 0 directories.
 0:01.68 From ./dist/idl: Kept 1155 existing; Added/updated 0; Removed 
0 files and 0 directories.
 0:01.72 From ./dist/bin: Kept 0 existing; Added/updated 0; Removed 0 
files and 0 directories.
 0:01.86 From ./dist/include: Kept 3518 existing; Added/updated 0; 
Removed 0 files and 0 directories.
 0:03.10 From _tests: Kept 11158 existing; Added/updated 0; Removed 0 
files and 0 directories.

 0:03.10 /usr/bin/make recurse_binaries

On 10/2/13 5:42 PM, Ehsan Akhgari wrote:

I just did a no-op ./mach build binaries on my debug build on a Mac, and
it took about 28 seconds.

$ time ./mach build binaries
  0:01.96 /usr/bin/make -j8 -s binaries
  0:12.19 From ./dist/public: Kept 0 existing; Added/updated 0; Removed
0 files and 0 directories.
  0:12.22 From ./dist/sdk: Kept 0 existing; Added/updated 0; Removed 0
files and 0 directories.
  0:12.38 From ./dist/private: Kept 0 existing; Added/updated 0; Removed
0 files and 0 directories.
  0:12.70 From ./dist/bin: Kept 0 existing; Added/updated 0; Removed 0
files and 0 directories.
  0:13.09 From ./dist/idl: Kept 1155 existing; Added/updated 0; Removed
0 files and 0 directories.
  0:13.11 From ./dist/include: Kept 3519 existing; Added/updated 0;
Removed 0 files and 0 directories.
  0:20.46 From _tests: Kept 11158 existing; Added/updated 0; Removed 0
files and 0 directories.
Your build was successful!

real0m28.291s
user0m8.685s
sys0m4.178s

Do you have any plans to bring down the overhead?  Do you know where
this overhead is coming from?

Thanks!
Ehsan


On 2013-10-01 9:17 PM, Mike Hommey wrote:

Hi,

If you've read the You want faster builds, don't you thread, you may
know that some build improvements have recently landed.

I just landed the most important part of it all, and we should now be in
a much better place, but, as I'm very cautious, and as this is
incremental improvements to an existing complex build system that is
hard to improve all at once without some subtle breakages, this is
opt-in. It also doesn't work with pymake because of bug 918652.

At this point, you probably want to know what it is and how to use it.

There is now a new target for incremental C/C++ rebuilds. What this means
is, you build once like usual. Then after you do your C/C++ changes,
instead of:
   - mach build or make -C objdir, which takes forever
   - mach build subdirectory/of/the/changes, which sometimes rebuilds
 toolkit/library, sometimes not, depending what you're rebuilding.
   - make -C objdir/subdirectory/of/the/changes  make -C
 objdir/toolkit/library, which may actually not be enough.
you can now do:
   - mach build binaries
 or
   - make -C objdir binaries

It will rebuild your changes and everything that needs rebuilding because
of them. It will also do that quickly.

There are a few caveats:
- it only handles C/C++ changes, including headers. It doesn't handle js
   modules, chrome data, etc.
- it does *not* handle changes to xpidl, webidl, ipdl. yet. There's a
   followup for this to happen: bug 921309.
- it doesn't handle changes to nss, nspr, icu or ffi. If you do changes
   there, you still need to run a normal build.
- it doesn't work without doing a normal build first.
- while it shouldn't break your builds, it might subtly skip what you
   would expect it to build. If it does, please file a bug or contact me
   on irc. You can still use the old ways until your issues are fixed.

Something else that I landed today is support to skip directories during
a normal build when they're not relevant to the build. As always, I'm
overcautious and this is opt-in. If you want to opt-in for this (and
future experimental improvements), please add export
MOZ_PSEUDO_DERECURSE=1 to your mozconfig. Except if you're using
pymake, sadly. The more people test those experimental improvements, the
quicker they can become the default for everyone.

For those interested in the gory details, I'll post some on my blog
within
the 

Re: Faster builds, now.

2013-10-02 Thread Patrick McManus
this works great for me.. touching network/protocol/http/nsHttpChannel.cpp
and rebuilding with mach build binaries runs in 26 seconds compared to 61
with just mach build, and I see the same ~35 second savings when doing it
on a total nop build (39 vs 5). awesome.

-P



On Tue, Oct 1, 2013 at 9:17 PM, Mike Hommey m...@glandium.org wrote:

 Hi,

 If you've read the You want faster builds, don't you thread, you may
 know that some build improvements have recently landed.

 I just landed the most important part of it all, and we should now be in
 a much better place, but, as I'm very cautious, and as this is
 incremental improvements to an existing complex build system that is
 hard to improve all at once without some subtle breakages, this is
 opt-in. It also doesn't work with pymake because of bug 918652.

 At this point, you probably want to know what it is and how to use it.

 There is now a new target for incremental C/C++ rebuilds. What this means
 is, you build once like usual. Then after you do your C/C++ changes,
 instead of:
   - mach build or make -C objdir, which takes forever
   - mach build subdirectory/of/the/changes, which sometimes rebuilds
 toolkit/library, sometimes not, depending what you're rebuilding.
   - make -C objdir/subdirectory/of/the/changes  make -C
 objdir/toolkit/library, which may actually not be enough.
 you can now do:
   - mach build binaries
 or
   - make -C objdir binaries

 It will rebuild your changes and everything that needs rebuilding because
 of them. It will also do that quickly.

 There are a few caveats:
 - it only handles C/C++ changes, including headers. It doesn't handle js
   modules, chrome data, etc.
 - it does *not* handle changes to xpidl, webidl, ipdl. yet. There's a
   followup for this to happen: bug 921309.
 - it doesn't handle changes to nss, nspr, icu or ffi. If you do changes
   there, you still need to run a normal build.
 - it doesn't work without doing a normal build first.
 - while it shouldn't break your builds, it might subtly skip what you
   would expect it to build. If it does, please file a bug or contact me
   on irc. You can still use the old ways until your issues are fixed.

 Something else that I landed today is support to skip directories during
 a normal build when they're not relevant to the build. As always, I'm
 overcautious and this is opt-in. If you want to opt-in for this (and
 future experimental improvements), please add export
 MOZ_PSEUDO_DERECURSE=1 to your mozconfig. Except if you're using
 pymake, sadly. The more people test those experimental improvements, the
 quicker they can become the default for everyone.

 For those interested in the gory details, I'll post some on my blog within
 the next few days.

 Mike
 ___
 dev-platform mailing list
 dev-platform@lists.mozilla.org
 https://lists.mozilla.org/listinfo/dev-platform

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Faster builds, now.

2013-10-02 Thread Ehsan Akhgari
Hmm, I'm not sure what's going on.  I ran it again four times in a row 
and I got better results, but the timings show that there is a lot fo 
difference between the slow and fast cases (no idea why)


$ time ./mach build binaries
 0:00.81 /usr/bin/make -j8 -s binaries
 0:03.90 From ./dist/public: Kept 0 existing; Added/updated 0; Removed 
0 files and 0 directories.
 0:03.90 From ./dist/sdk: Kept 0 existing; Added/updated 0; Removed 0 
files and 0 directories.
 0:03.95 From ./dist/private: Kept 0 existing; Added/updated 0; Removed 
0 files and 0 directories.
 0:04.02 From ./dist/idl: Kept 1155 existing; Added/updated 0; Removed 
0 files and 0 directories.
 0:04.13 From ./dist/bin: Kept 0 existing; Added/updated 0; Removed 0 
files and 0 directories.
 0:04.32 From ./dist/include: Kept 3519 existing; Added/updated 0; 
Removed 0 files and 0 directories.
 0:06.42 From _tests: Kept 11158 existing; Added/updated 0; Removed 0 
files and 0 directories.

Your build was successful!

real0m13.277s
user0m9.969s
sys 0m2.929s
 ehsanakhgari  sparky  ~  moz  mozilla-central  include  $ time ./mach 
build binaries

 0:00.25 /usr/bin/make -j8 -s binaries
 0:01.49 From ./dist/public: Kept 0 existing; Added/updated 0; Removed 
0 files and 0 directories.
 0:01.49 From ./dist/sdk: Kept 0 existing; Added/updated 0; Removed 0 
files and 0 directories.
 0:01.50 From ./dist/private: Kept 0 existing; Added/updated 0; Removed 
0 files and 0 directories.
 0:01.64 From ./dist/idl: Kept 1155 existing; Added/updated 0; Removed 
0 files and 0 directories.
 0:01.67 From ./dist/bin: Kept 0 existing; Added/updated 0; Removed 0 
files and 0 directories.
 0:01.89 From ./dist/include: Kept 3519 existing; Added/updated 0; 
Removed 0 files and 0 directories.
 0:03.36 From _tests: Kept 11158 existing; Added/updated 0; Removed 0 
files and 0 directories.

Your build was successful!

real0m10.459s
user0m11.120s
sys 0m1.914s
 ehsanakhgari  sparky  ~  moz  mozilla-central  include  $ time ./mach 
build binaries

 0:00.26 /usr/bin/make -j8 -s binaries
 0:01.53 From ./dist/public: Kept 0 existing; Added/updated 0; Removed 
0 files and 0 directories.
 0:01.54 From ./dist/sdk: Kept 0 existing; Added/updated 0; Removed 0 
files and 0 directories.
 0:01.54 From ./dist/private: Kept 0 existing; Added/updated 0; Removed 
0 files and 0 directories.
 0:01.67 From ./dist/idl: Kept 1155 existing; Added/updated 0; Removed 
0 files and 0 directories.
 0:01.80 From ./dist/bin: Kept 0 existing; Added/updated 0; Removed 0 
files and 0 directories.
 0:01.93 From ./dist/include: Kept 3519 existing; Added/updated 0; 
Removed 0 files and 0 directories.
 0:03.37 From _tests: Kept 11158 existing; Added/updated 0; Removed 0 
files and 0 directories.

Your build was successful!

real0m9.334s
user0m10.229s
sys 0m1.924s
 ehsanakhgari  sparky  ~  moz  mozilla-central  include  $ time ./mach 
build binaries

 0:00.18 /usr/bin/make -j8 -s binaries
 0:04.53 From ./dist/sdk: Kept 0 existing; Added/updated 0; Removed 0 
files and 0 directories.
 0:04.54 From ./dist/private: Kept 0 existing; Added/updated 0; Removed 
0 files and 0 directories.
 0:04.54 From ./dist/public: Kept 0 existing; Added/updated 0; Removed 
0 files and 0 directories.
 0:04.65 From ./dist/idl: Kept 1155 existing; Added/updated 0; Removed 
0 files and 0 directories.
 0:04.67 From ./dist/bin: Kept 0 existing; Added/updated 0; Removed 0 
files and 0 directories.
 0:04.83 From ./dist/include: Kept 3519 existing; Added/updated 0; 
Removed 0 files and 0 directories.
 0:06.10 From _tests: Kept 11158 existing; Added/updated 0; Removed 0 
files and 0 directories.

Your build was successful!

real0m14.923s
user0m9.508s
sys 0m1.580s

On 2013-10-02 12:20 PM, Gregory Szorc wrote:

8.8s here!

~1.5 is startup and checking the build backend is up to date (lots of
stats)
~1.5s is processing install manifests.
Rest is make processing.

The fact that your machine spent ~20s doing install manifest processing
tells me:

a) Your directory tree wasn't cached (try running again)
b) Your I/O layer is slow (I'm building with an SSD)
c) Something else wonky creating slow I/O

  0:00.14 /usr/bin/make -j8 binaries
  0:00.53 MOZBUILD_BACKEND_CHECKED= /usr/bin/make -C js/src
backend.RecursiveMakeBackend.built
  0:00.82 make[1]: `backend.RecursiveMakeBackend.built' is up to date.
  0:01.16 MOZBUILD_BACKEND_CHECKED= /usr/bin/make -C js/src
backend.RecursiveMakeBackend.built
  0:01.45 make[2]: `backend.RecursiveMakeBackend.built' is up to date.
  0:01.56 From ./dist/public: Kept 0 existing; Added/updated 0; Removed
0 files and 0 directories.
  0:01.56 From ./dist/sdk: Kept 0 existing; Added/updated 0; Removed 0
files and 0 directories.
  0:01.57 From ./dist/private: Kept 0 existing; Added/updated 0; Removed
0 files and 0 directories.
  0:01.68 From ./dist/idl: Kept 1155 existing; Added/updated 0; Removed
0 files and 0 directories.
  0:01.72 From ./dist/bin: Kept 0 existing; Added/updated 0; 

Re: Faster builds, now.

2013-10-02 Thread Mike Hommey
On Wed, Oct 02, 2013 at 11:42:45AM -0400, Ehsan Akhgari wrote:
 I just did a no-op ./mach build binaries on my debug build on a Mac,
 and it took about 28 seconds.
 
 $ time ./mach build binaries
  0:01.96 /usr/bin/make -j8 -s binaries
  0:12.19 From ./dist/public: Kept 0 existing; Added/updated 0;
 Removed 0 files and 0 directories.
  0:12.22 From ./dist/sdk: Kept 0 existing; Added/updated 0; Removed
 0 files and 0 directories.
  0:12.38 From ./dist/private: Kept 0 existing; Added/updated 0;
 Removed 0 files and 0 directories.
  0:12.70 From ./dist/bin: Kept 0 existing; Added/updated 0; Removed
 0 files and 0 directories.
  0:13.09 From ./dist/idl: Kept 1155 existing; Added/updated 0;
 Removed 0 files and 0 directories.
  0:13.11 From ./dist/include: Kept 3519 existing; Added/updated 0;
 Removed 0 files and 0 directories.
  0:20.46 From _tests: Kept 11158 existing; Added/updated 0; Removed
 0 files and 0 directories.
 Your build was successful!
 
 real  0m28.291s
 user  0m8.685s
 sys   0m4.178s
 
 Do you have any plans to bring down the overhead?  Do you know where
 this overhead is coming from?

Try again now that bug 921307 landed.

Mike
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform