On Fri, Nov 18, 2016 at 3:50 PM, Ehsan Akhgari <ehsan.akhg...@gmail.com>
wrote:

> Here are the moz.build processing times on my machine when I add one
> line to a LOCAL_INCLUDES in one moz.build file:
>
>  0:02.97 Reticulating splines...
>  0:37.16 Finished reading 3131 moz.build files in 23.09s
>  0:37.16 Processed into 9325 build config descriptors in 3.62s
>  0:37.16 RecursiveMake backend executed in 6.50s
>  0:37.16   2951 total backend files; 0 created; 2 updated; 2949
> unchanged; 0 deleted; 54 -> 1110 Makefile
>  0:37.16 FasterMake backend executed in 0.50s
>  0:37.16   12 total backend files; 0 created; 0 updated; 12 unchanged; 0
> deleted
>  0:37.16 Total wall time: 34.22s; CPU time: 16.20s; Efficiency: 47%;
> Untracked: 0.50s
>
>
>  0:37.89 Finished reading 3131 moz.build files in 21.90s
>  0:37.89 Processed into 9327 build config descriptors in 3.82s
>  0:37.89 RecursiveMake backend executed in 7.85s
>  0:37.89   2951 total backend files; 0 created; 4 updated; 2947
> unchanged; 0 deleted; 54 -> 1110 Makefile
>  0:37.89 FasterMake backend executed in 0.59s
>  0:37.89   12 total backend files; 0 created; 0 updated; 12 unchanged; 0
> deleted
>  0:37.89 Total wall time: 34.70s; CPU time: 17.70s; Efficiency: 51%;
> Untracked: 0.55s
>
> The clear offender is "reading moz.build files".  What's involved in
> this process?  Is there some low hanging fruit for making it faster?
> Are there things non-build developers can do (such as reducing the
> number of moz.build files) that would help?
>
> Is there any way for us to avoid reprocessing the world for every single
> moz.build file change?
>

Please tell us a bit more about your machine. Because on my machine...

Linux
$ ./mach build-backend
 0:00.08
/home/gps/src/firefox/obj-x86_64-pc-linux-gnu/_virtualenv/bin/python
/home/gps/src/firefox/obj-x86_64-pc-linux-gnu/config.status
Reticulating splines...
Finished reading 3027 moz.build files in 3.79s
Processed into 9028 build config descriptors in 1.54s
RecursiveMake backend executed in 3.00s
  2829 total backend files; 0 created; 0 updated; 2829 unchanged; 0
deleted; 54 -> 1065 Makefile
FasterMake backend executed in 0.22s
  12 total backend files; 0 created; 0 updated; 12 unchanged; 0 deleted
Total wall time: 8.76s; CPU time: 7.26s; Efficiency: 83%; Untracked: 0.21s

Windows 10
$ ./mach build-backend
 0:00.55
c:/dev/src/firefox/obj-i686-pc-mingw32\_virtualenv\Scripts\python.exe
c:/dev/src/firefox/obj-i686-pc-mingw32\config.status
Reticulating splines...
Finished reading 3041 moz.build files in 7.01s
Processed into 9841 build config descriptors in 3.19s
RecursiveMake backend executed in 3.81s
  2860 total backend files; 0 created; 1 updated; 2859 unchanged; 0
deleted; 62 -> 1069 Makefile
FasterMake backend executed in 0.38s
  11 total backend files; 0 created; 1 updated; 10 unchanged; 0 deleted
VisualStudio backend executed in 1.71s
Generated Visual Studio solution at
c:/dev/src/firefox/obj-i686-pc-mingw32\msvc\mozilla.sln
Total wall time: 16.43s; CPU time: 16.43s; Efficiency: 100%; Untracked:
0.33s

The numbers seem to indicate your machine is a bit old or slow?

FWIW, bug 1308982 is on our radar for speeding up moz.build reading.
_______________________________________________
dev-builds mailing list
dev-builds@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-builds

Reply via email to