Compiling firefox using the different cpu, perhaps I will add the m1 pro and m1 max benchmark.
ThinkBook 14 G4+ ARA
envs: Windows 11 pro, WSL2, Ubuntu20.04
24:35.31 (suppressed 9 warnings in gfx/cairo)
24:35.31 (suppressed 1 warnings in gfx/graphite2)
24:35.31 (suppressed 23 warnings in gfx/skia)
24:35.31 (suppressed 4 warnings in intl/icu)
24:35.31 (suppressed 3 warnings in js/src/ctypes/libffi)
24:35.31 (suppressed 14 warnings in media/ffvpx)
24:35.31 (suppressed 1 warnings in media/libcubeb)
24:35.31 (suppressed 1 warnings in media/libmkv)
24:35.31 (suppressed 1 warnings in media/libnestegg)
24:35.31 (suppressed 1 warnings in media/libopus)
24:35.31 (suppressed 8 warnings in media/libsoundtouch)
24:35.31 (suppressed 1 warnings in media/libspeex_resampler)
24:35.31 (suppressed 1 warnings in media/libtheora)
24:35.31 (suppressed 1 warnings in media/libvorbis)
24:35.31 (suppressed 1 warnings in media/libvpx)
24:35.31 (suppressed 1 warnings in modules/woff2)
24:35.31 (suppressed 24 warnings in netwerk/sctp/src)
24:35.31 (suppressed 67 warnings in nsprpub)
24:35.31 (suppressed 108 warnings in security/nss)
24:35.31 (suppressed 55 warnings in third_party)
24:35.31 (suppressed 2 warnings in toolkit/components/protobuf)
24:35.32 Notification center failed: Install notify-send (usually part of the libnotify package) to get a notification when the build finishes.
To view resource usage of the build, run |mach resource-usage|.
24:35.32 We know it took a while, but your build finally finished successfully!
24:35.32 If you are building Firefox often, SCCache can save you a lot of time. You can learn more here: https://firefox-source-docs.mozilla.org/setup/configuring_build_options.html#sccache
To take your build for a test drive, run: |mach run|
For more information on what to do now, see https://firefox-source-docs.mozilla.org/setup/contributing_code.html
It takes 24+mins to finish the firefox building from source.
After the compiling, it takes about 26G space.
➜ du -h ./ | sort -rh | head -5
26G ./firefox
26G ./
16G ./firefox/obj-x86_64-pc-linux-gnu
6.3G ./firefox/.hg
6.2G ./firefox/.hg/store
ThinkBook 14 G4+ ARA
envs: Ubuntu22.04
22:14.48 ./options_signed.zip.stub
22:14.68 browser/locales/updater.ini.stub
22:14.94 ✨ Your metrics are Glean! ✨
22:15.46 TEST-PASS | check_spidermonkey_style.py | ok
22:15.78 TEST-PASS | check_macroassembler_style.py | ok
22:15.82 toolkit/locales/update.locale.stub
22:15.82 toolkit/locales/locale.ini.stub
22:15.84 TEST-PASS | check_js_opcode.py | ok
22:16.62 Packaging [email protected]...
22:16.71 Packaging [email protected]...
22:16.83 W 228 compiler warnings present.
22:17.37 W Overall system resources - Wall time: 1337s; CPU: 73%; Read bytes: 1630080000; Write bytes: 18858844160; Read time: 34086; Write time: 593694
22:17.37 W Swap in/out (MB): 3.22265625/87.14453125
22:18.23 W (suppressed 145 warnings in third-party code)
22:18.23 W (suppressed 2 warnings in accessible/atk)
22:18.23 W (suppressed 1 warnings in browser/components/shell)
22:18.23 W (suppressed 1 warnings in dom/media/webrtc/libwebrtcglue)
22:18.23 W (suppressed 12 warnings in image/decoders/icon/gtk)
22:18.23 W (suppressed 3 warnings in toolkit/mozapps/update/updater)
22:18.23 W (suppressed 63 warnings in widget/gtk)
22:18.23 W warning: obj-x86_64-pc-linux-gnu/dist/include/nsTPromiseFlatString.h:90:8 [-Wdeprecated-copy] definition of implicit copy constructor for 'nsTPromiseFlatString<char>' is deprecated because it has a user-declared copy assignment operator
22:18.23 /usr/bin/notify-send '--app-name=Mozilla Build System' 'Mozilla Build System' 'Build complete'
To view resource usage of the build, run |mach resource-usage|.
22:18.28 We know it took a while, but your build finally finished successfully!
22:18.28 If you are building Firefox often, SCCache can save you a lot of time. You can learn more here: https://firefox-source-docs.mozilla.org/setup/configuring_build_options.html#sccache
To take your build for a test drive, run: |mach run|
For more information on what to do now, see https://firefox-source-docs.mozilla.org/setup/contributing_code.html
It takes about 22+ minutes to finish the compile, not bad, which is faster than the WSL2, slower than M2 Pro.
After compiling, it takes about 28G space.
[~/Develop]$ du -h ./firefox | sort -rh | head -5
28G ./firefox
18G ./firefox/obj-x86_64-pc-linux-gnu
7.1G ./firefox/obj-x86_64-pc-linux-gnu/x86_64-unknown-linux-gnu/release
7.1G ./firefox/obj-x86_64-pc-linux-gnu/x86_64-unknown-linux-gnu
6.9G ./firefox/.hg
MacBook Pro 2023
envs: macOS 13.5 arm64
15:15.57 ✨ Your metrics are Glean! ✨
15:15.66 browser/locales/updater.ini.stub
15:16.92 TEST-PASS | check_spidermonkey_style.py | ok
15:17.13 TEST-PASS | check_macroassembler_style.py | ok
15:17.14 toolkit/locales/update.locale.stub
15:17.14 toolkit/locales/locale.ini.stub
15:17.19 TEST-PASS | check_js_opcode.py | ok
15:18.50 Packaging [email protected]...
15:19.68 Packaging [email protected]...
15:19.78 W 1015 compiler warnings present.
15:19.99 W Overall system resources - Wall time: 919s; CPU: 96%; Read bytes: 4991410176; Write bytes: 20164939776; Read time: 190321; Write time: 13150
15:19.99 W Swap in/out (MB): 11643.921875/103.34375
15:20.14 W (suppressed 840 warnings in third-party code)
15:20.14 W (suppressed 1 warnings in browser/components/shell)
15:20.14 W (suppressed 1 warnings in dom/media/platforms/apple)
15:20.14 W (suppressed 3 warnings in dom/media/systemservices/objc_video_capture)
15:20.14 W (suppressed 1 warnings in dom/media/webrtc/libwebrtcglue)
15:20.14 W (suppressed 1 warnings in dom/quota/test/gtest)
15:20.14 W (suppressed 4 warnings in gfx/2d)
15:20.14 W (suppressed 34 warnings in gfx/gl)
15:20.14 W (suppressed 4 warnings in gfx/layers)
15:20.14 W (suppressed 1 warnings in gfx/thebes)
15:20.14 W (suppressed 6 warnings in ipc/chromium/src/base)
15:20.14 W (suppressed 1 warnings in ipc/glue)
15:20.14 W (suppressed 2 warnings in js/src/vm)
15:20.14 W (suppressed 5 warnings in mfbt/tests)
15:20.14 W (suppressed 1 warnings in modules/libmar/verify)
15:20.14 W (suppressed 3 warnings in netwerk/base)
15:20.14 W (suppressed 3 warnings in obj-aarch64-apple-darwin22.6.0/dist/include)
15:20.14 W (suppressed 2 warnings in toolkit/components/remote)
15:20.14 W (suppressed 5 warnings in toolkit/mozapps/update/updater)
15:20.14 W (suppressed 11 warnings in toolkit/xre)
15:20.14 W (suppressed 12 warnings in uriloader/exthandler/mac)
15:20.14 W (suppressed 23 warnings in widget/cocoa)
15:20.14 W (suppressed 1 warnings in xpcom/base)
15:20.14 W (suppressed 48 warnings in xpcom/io)
15:20.14 W warning: obj-aarch64-apple-darwin22.6.0/dist/include/nsMargin.h:19:3 [-Wdeprecated-copy] definition of implicit copy assignment operator for 'nsMargin' is deprecated because it has a user-declared copy constructor
15:20.14 W warning: obj-aarch64-apple-darwin22.6.0/dist/include/nsTPromiseFlatString.h:90:8 [-Wdeprecated-copy] definition of implicit copy constructor for 'nsTPromiseFlatString<char>' is deprecated because it has a user-declared copy assignment operator
15:20.14 W Notification center failed: Install terminal-notifier to get a notification when the build finishes.
To view resource usage of the build, run |mach resource-usage|.
15:20.14 Your build was successful!
To take your build for a test drive, run: |mach run|
For more information on what to do now, see https://firefox-source-docs.mozilla.org/setup/contributing_code.html
It takes about 15+ minutes to finish the compile, note that I didn't use the Artifact mode
.
After compiling, it takes about 25G space.
[~/Develop]$ du -h ./firefox | sort -rh | head -5
25G ./firefox
15G ./firefox/obj-aarch64-apple-darwin22.6.0
6.6G ./firefox/.hg
6.5G ./firefox/.hg/store
5.6G ./firefox/obj-aarch64-apple-darwin22.6.0/aarch64-apple-darwin/release
MacBook Pro
envs: macOS 14.6.1 Sonoma
15:40.74 browser/locales/updater.ini.stub
15:41.15 TEST-PASS | check_spidermonkey_style.py | ok
15:41.29 TEST-PASS | check_macroassembler_style.py | ok
15:41.34 TEST-PASS | check_js_opcode.py | ok
15:42.14 toolkit/locales/update.locale.stub
15:42.14 toolkit/locales/locale.ini.stub
15:43.63 Packaging [email protected]...
15:45.24 Packaging [email protected]...
15:45.33 W 979 compiler warnings present.
15:45.54 W Overall system resources - Wall time: 945s; CPU: 96%; Read bytes: 13128318976; Write bytes: 21954428928; Read time: 231323; Write time: 15405
15:45.54 W Swap in/out (MB): 14027.28125/110.796875
15:45.55 W (suppressed 811 warnings in third-party code)
15:45.55 W (suppressed 1 warnings in browser/components/shell)
15:45.55 W (suppressed 1 warnings in dom/media/platforms/apple)
15:45.55 W (suppressed 3 warnings in dom/media/systemservices/objc_video_capture)
15:45.55 W (suppressed 2 warnings in gfx/2d)
15:45.55 W (suppressed 34 warnings in gfx/gl)
15:45.55 W (suppressed 4 warnings in gfx/layers)
15:45.55 W (suppressed 6 warnings in ipc/chromium/src/base)
15:45.55 W (suppressed 1 warnings in ipc/glue)
15:45.55 W (suppressed 2 warnings in js/src/vm)
15:45.55 W (suppressed 5 warnings in mfbt/tests)
15:45.55 W (suppressed 1 warnings in modules/libmar/verify)
15:45.55 W (suppressed 3 warnings in netwerk/base)
15:45.55 W (suppressed 3 warnings in obj-aarch64-apple-darwin23.6.0/dist/include)
15:45.55 W (suppressed 2 warnings in toolkit/components/remote)
15:45.55 W (suppressed 5 warnings in toolkit/mozapps/update/updater)
15:45.55 W (suppressed 11 warnings in toolkit/xre)
15:45.55 W (suppressed 12 warnings in uriloader/exthandler/mac)
15:45.55 W (suppressed 21 warnings in widget/cocoa)
15:45.55 W (suppressed 1 warnings in xpcom/base)
15:45.55 W (suppressed 50 warnings in xpcom/io)
15:45.55 W Notification center failed: Install terminal-notifier to get a notification when the build finishes.
To view a profile of the build, run |mach resource-usage|.
15:45.55 Your build was successful!
To take your build for a test drive, run: |mach run|
For more information on what to do now, see https://firefox-source-docs.mozilla.org/setup/contributing_code.html
aucker@auckers-MacBook-Pro mozilla-unified % ./mach run
0:00.23 /Users/aucker/firefox/mozilla-unified/obj-aarch64-apple-darwin23.6.0/dist/Nightly.app/Contents/MacOS/firefox -no-remote -foreground -profile /Users/aucker/firefox/mozilla-unified/obj-aarch64-apple-darwin23.6.0/tmp/profile-default
UNSUPPORTED (log once): POSSIBLE ISSUE: unit 1 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable
It takes about 15 minutes to finish the compile process, still, this is not artifact mode.
After compilation, the folder takes 25GB of space.
firefox % du -h . | sort -rh | head -5
25G ./mozilla-unified
25G .
16G ./mozilla-unified/obj-aarch64-apple-darwin23.6.0
6.3G ./mozilla-unified/obj-aarch64-apple-darwin23.6.0/aarch64-apple-darwin/release
6.3G ./mozilla-unified/obj-aarch64-apple-darwin23.6.0/aarch64-apple-darwin
Windows 11 WSL2 Ubuntu22.04
14:36.59 TEST-PASS | check_spidermonkey_style.py | ok
14:36.68 TEST-PASS | check_macroassembler_style.py | ok
14:36.70 TEST-PASS | check_js_opcode.py | ok
14:36.98 Packaging [email protected]...
14:37.06 Packaging [email protected]...
14:37.25 W 265 compiler warnings present.
14:37.89 W Overall system resources - Wall time: 845s; CPU: 72%; Read bytes: 7742464000; Write bytes: 20035850240; Read time: 103556; Write time: 1980453
14:37.89 W Swap in/out (MB): 483.859375/570.82421875
14:37.89 W (suppressed 184 warnings in third-party code)
14:37.89 W (suppressed 2 warnings in accessible/atk)
14:37.89 W (suppressed 1 warnings in browser/components/shell)
14:37.89 W (suppressed 12 warnings in image/decoders/icon/gtk)
14:37.89 W (suppressed 3 warnings in toolkit/mozapps/update/updater)
14:37.89 W (suppressed 62 warnings in widget/gtk)
14:37.89 W warning: obj-x86_64-pc-linux-gnu/dist/include/mozilla/cxxalloc.h:53:34 [-Wunknown-warning-option] unknown warning group '-Walloc-size-larger-than=', ignored
14:37.91 W Notification center failed: Install notify-send (usually part of the libnotify package) to get a notification when the build finishes.
To view a profile of the build, run |mach resource-usage|.
14:37.92 Your build was successful!
To take your build for a test drive, run: |mach run|
For more information on what to do now, see https://firefox-source-docs.mozilla.org/setup/contributing_code.html
mozilla-unified bookmarks/central 14m38s
This takes 14m38s to finish the build process. (Non artifact mode)
As for space:
mozilla-unified bookmarks/central
➜ dust . | sort -rh | head -5
27G ┌─┴ . │█████ │ 100%
18G ├─┴ obj-x86_64-pc-linux-gnu │████ │ 65%
7.8G │ ├─┴ x86_64-unknown-linux-gnu │██░░ │ 28%
7.8G │ │ ┌─┴ release │██░░ │ 28%
5.7G ├─┴ .git │██ │ 21%
Better than M3 Pro.
https://firefox-source-docs.mozilla.org/setup/linux_build.html