View previous topic :: View next topic |
Author |
Message |
Moonboots Apprentice
Joined: 02 Dec 2006 Posts: 161
|
Posted: Wed Sep 04, 2019 5:17 pm Post subject: Firefox 69 lto pgo build time |
|
|
Has any one built Firefox 69.0 with lto and pgo flags and noticed a increased compile time ?
Version 68 was approximately 48 minutes, while today version 69 took 74 minutes. |
|
Back to top |
|
|
twalter Tux's lil' helper
Joined: 07 Apr 2004 Posts: 103 Location: Churchill, Canada
|
Posted: Thu Sep 05, 2019 5:07 pm Post subject: |
|
|
As soon as Qemu finally finishes, I'll let you know! lto1-ltrans is taking bloody forever and using 44GB. I can't wait to see what Firefox does! |
|
Back to top |
|
|
twalter Tux's lil' helper
Joined: 07 Apr 2004 Posts: 103 Location: Churchill, Canada
|
Posted: Thu Sep 05, 2019 5:22 pm Post subject: |
|
|
And kaboom(-kill). So much for Qemu LTO. I'll try Firefox after I increase swap |
|
Back to top |
|
|
twalter Tux's lil' helper
Joined: 07 Apr 2004 Posts: 103 Location: Churchill, Canada
|
Posted: Thu Sep 05, 2019 7:21 pm Post subject: |
|
|
For Firefox 69:
Code: |
real 25m47.508s
user 287m27.493s
sys 8m16.416s
|
On a 3900x w/64GB
YMMV |
|
Back to top |
|
|
Juippisi Developer
Joined: 30 Sep 2005 Posts: 727 Location: /home
|
Posted: Fri Sep 06, 2019 3:26 am Post subject: |
|
|
The question wasn't "how fast you can build firefox[pgo]" but "have you noticed increase in compile time".
Took me 9 minutes more to build 69 than 68, but it could've been building parallel with something during updates. So I wouldn't say there's a significant increase in time.
One thing I also noticed is that clang is slower than gcc, if you did that switch. |
|
Back to top |
|
|
Moonboots Apprentice
Joined: 02 Dec 2006 Posts: 161
|
Posted: Fri Sep 06, 2019 3:48 am Post subject: |
|
|
I was just curious if others had noticed this.
With a Ryzen 1700 and -j8 and unchanged flags the 2 previous versions had been around 47/48 minutes.
Obviously i was not expecting a 54% increase build time ! Perhaps its something about my setup ? |
|
Back to top |
|
|
twalter Tux's lil' helper
Joined: 07 Apr 2004 Posts: 103 Location: Churchill, Canada
|
Posted: Fri Sep 06, 2019 10:23 am Post subject: |
|
|
Juippisi wrote: | The question wasn't "how fast you can build firefox[pgo]" but "have you noticed increase in compile time".
Took me 9 minutes more to build 69 than 68, but it could've been building parallel with something during updates. So I wouldn't say there's a significant increase in time.
One thing I also noticed is that clang is slower than gcc, if you did that switch. |
I'm aware of that but as I literally just upgraded my PC so my prior timings were meaningless. So I offered up a single point of reference in the hope it could be useful to someone. |
|
Back to top |
|
|
ulenrich Veteran
Joined: 10 Oct 2010 Posts: 1480
|
Posted: Fri Sep 06, 2019 9:28 pm Post subject: |
|
|
What influence has "pgo" to rust compilation ?
I think it is a gcc only flag, isn't it?
When more and more of firefox sources are compiled using rust there should be
less pgo dependend compile time. Not to mention runtime performance less influenced by pgo flag ... |
|
Back to top |
|
|
Belliash Advocate
Joined: 24 Nov 2004 Posts: 2503 Location: Wroclaw, Poland
|
Posted: Sat Sep 07, 2019 8:01 am Post subject: |
|
|
Is it possible to still build Firefox with GCC? I do not need/want CLANG just for one package...unless I can build whole system using it. USE=-clang does not do its job. _________________ Asio Software Technologies
Belliash IT Weblog |
|
Back to top |
|
|
Moonboots Apprentice
Joined: 02 Dec 2006 Posts: 161
|
Posted: Sat Sep 07, 2019 10:11 am Post subject: |
|
|
Belliash wrote: | Is it possible to still build Firefox with GCC? I do not need/want CLANG just for one package...unless I can build whole system using it. USE=-clang does not do its job. |
I’ve been building Firefox with gcc exclusively. |
|
Back to top |
|
|
Belliash Advocate
Joined: 24 Nov 2004 Posts: 2503 Location: Wroclaw, Poland
|
Posted: Sat Sep 07, 2019 10:43 am Post subject: |
|
|
Moonboots wrote: | Belliash wrote: | Is it possible to still build Firefox with GCC? I do not need/want CLANG just for one package...unless I can build whole system using it. USE=-clang does not do its job. |
I’ve been building Firefox with gcc exclusively. |
Do you have some ebuild for that? I would like to build Firefox 69 with GCC 9.2 _________________ Asio Software Technologies
Belliash IT Weblog |
|
Back to top |
|
|
Moonboots Apprentice
Joined: 02 Dec 2006 Posts: 161
|
Posted: Sat Sep 07, 2019 11:23 am Post subject: |
|
|
Belliash wrote: | Do you have some ebuild for that? I would like to build Firefox 69 with GCC 9.2 |
The standard Firefox ebuild in portage , if clang flag is not used it builds using gcc |
|
Back to top |
|
|
Belliash Advocate
Joined: 24 Nov 2004 Posts: 2503 Location: Wroclaw, Poland
|
Posted: Sat Sep 07, 2019 11:33 am Post subject: |
|
|
Moonboots wrote: | Belliash wrote: | Do you have some ebuild for that? I would like to build Firefox 69 with GCC 9.2 |
The standard Firefox ebuild in portage , if clang flag is not used it builds using gcc |
This does not work for me...
Code: | # emerge firefox
These are the packages that would be merged, in order:
Calculating dependencies ... done!
[ebuild N ] net-libs/http-parser-2.9.2:0/2.9.0::gentoo USE="-static-libs" ABI_X86="32 (64) (-x32)" 0 KiB
[ebuild N ] sys-devel/llvm-common-8.0.1::gentoo 0 KiB
[ebuild UD ] media-libs/libvpx-1.7.0:0/5::gentoo [1.8.0-r1:0/6::gentoo] USE="highbitdepth postproc* threads -doc -static-libs -svc -test" ABI_X86="32 (64) (-x32)" CPU_FLAGS_X86="avx%* avx2%* mmx%* sse%* sse2%* sse3%* sse4_1%* ssse3%*" 2,617 KiB
[ebuild N ] net-libs/nodejs-12.10.0::gentoo USE="icu npm snapshot ssl -debug -doc -inspector -systemtap -test" CPU_FLAGS_X86="sse2" 0 KiB
[ebuild N ] app-eselect/eselect-rust-20190311::gentoo 0 KiB
[ebuild N ] sys-devel/clang-common-8.0.1::gentoo 0 KiB
[ebuild N ] media-libs/dav1d-0.4.0:0/2::gentoo USE="10bit 8bit asm" ABI_X86="32 (64) (-x32)" 0 KiB
[ebuild N ] media-libs/libaom-1.0.0-r2::gentoo USE="-doc -examples" ABI_X86="32 (64) (-x32)" CPU_FLAGS_X86="avx avx2 mmx sse sse2 sse3 sse4_1 ssse3" 0 KiB
[ebuild N ] net-libs/libssh2-1.9.0-r1::gentoo USE="zlib -gcrypt -libressl -mbedtls" ABI_X86="32 (64) (-x32)" 0 KiB
[ebuild N ] dev-lang/rust-1.37.0:stable/1.37::gentoo USE="-clippy -debug -doc -libressl -rls -rustfmt -system-llvm -wasm" ABI_X86="32 (64) (-x32)" CPU_FLAGS_X86="sse2" LLVM_TARGETS="NVPTX (X86) -AArch64 -AMDGPU -ARM -BPF -Hexagon -Lanai -MSP430 -Mips -PowerPC -Sparc -SystemZ -WebAssembly -XCore" 0 KiB
[ebuild N ] virtual/cargo-1.37.0::gentoo 0 KiB
[ebuild N ] dev-util/cbindgen-0.9.1::gentoo USE="-debug" 0 KiB
[ebuild N ] virtual/rust-1.37.0::gentoo 0 KiB
[ebuild N ] sys-libs/libomp-8.0.1::gentoo USE="-cuda -hwloc -offload -ompt -test" ABI_X86="32 (64) (-x32)" 0 KiB
[ebuild N ] sys-devel/llvm-8.0.1:8::gentoo USE="gold libffi ncurses -debug -doc -exegesis -libedit -test -xar -xml" ABI_X86="32 (64) (-x32)" LLVM_TARGETS="NVPTX (X86) -AArch64 -AMDGPU -ARM -BPF -Hexagon -Lanai -MSP430 -Mips -PowerPC -Sparc -SystemZ -WebAssembly -XCore" 0 KiB
[ebuild N ] sys-devel/llvmgold-8::gentoo 0 KiB
[ebuild N ] sys-devel/clang-8.0.1:8::gentoo USE="static-analyzer -debug -default-compiler-rt -default-libcxx -doc -test -xml -z3" ABI_X86="32 (64) (-x32)" LLVM_TARGETS="NVPTX (X86) -AArch64 -AMDGPU -ARM -BPF -Hexagon -Lanai -MSP430 -Mips -PowerPC -Sparc -SystemZ -WebAssembly -XCore" PYTHON_TARGETS="python2_7" 0 KiB
[ebuild N ] sys-libs/compiler-rt-8.0.1:8.0.1::gentoo USE="clang -test" 1,909 KiB
[ebuild N ] sys-libs/compiler-rt-sanitizers-8.0.1:8.0.1::gentoo USE="clang libfuzzer profile sanitize xray -test" 0 KiB
[ebuild N ] sys-devel/clang-runtime-8.0.1:8.0.1::gentoo USE="compiler-rt openmp sanitize -crt -libcxx" ABI_X86="32 (64) (-x32)" 0 KiB
[ebuild N ] www-client/firefox-69.0::gentoo USE="gmp-autoupdate lto pulseaudio screenshot system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-sqlite system-webp wayland -bindist -clang -custom-cflags -custom-optimization -debug -eme-free -geckodriver -hardened -hwaccel -jack (-neon) -pgo (-selinux) -startup-notification -test -wifi" CPU_FLAGS_X86="avx2" L10N="-ach -af -an -ar -ast -az -be -bg -bn -br -bs -ca -cak -cs -cy -da -de -dsb -el -en-CA -en-GB -eo -es-AR -es-CL -es-ES -es-MX -et -eu -fa -ff -fi -fr -fy -ga -gd -gl -gn -gu -he -hi -hr -hsb -hu -hy -ia -id -is -it -ja -ka -kab -kk -km -kn -ko -lij -lt -lv -mk -mr -ms -my -nb -nl -nn -oc -pa -pl -pt-BR -pt-PT -rm -ro -ru -si -sk -sl -son -sq -sr -sv -ta -te -th -tr -uk -ur -uz -vi -xh -zh-CN -zh-TW" 0 KiB
Total: 21 packages (1 downgrade, 20 new), Size of downloads: 4,526 KiB
!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:
media-libs/libvpx:0
(media-libs/libvpx-1.7.0:0/5::gentoo, ebuild scheduled for merge) pulled in by
=media-libs/libvpx-1.7*:0=[postproc] required by (www-client/firefox-69.0:0/0::gentoo, ebuild scheduled for merge)
^ ^^^^^^^
(media-libs/libvpx-1.8.0-r1:0/6::gentoo, installed) pulled in by
media-libs/libvpx:0/6= required by (media-video/vlc-3.0.8:0/5-9::gentoo, installed)
^^^^^
(and 2 more with the same problem)
NOTE: Use the '--verbose-conflicts' option to display parents omitted above
It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously. If such a conflict exists in
the dependencies of two different packages, then those packages can
not be installed simultaneously.
For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.
The following USE changes are necessary to proceed:
(see "package.use" in the portage(5) man page for more details)
# required by www-client/firefox-69.0::gentoo[system-libvpx]
# required by firefox (argument)
=media-libs/libvpx-1.7.0 postproc
Would you like to add these changes to your config files? [Yes/No] |
As you can see clang is disabled but it pulls it in... _________________ Asio Software Technologies
Belliash IT Weblog |
|
Back to top |
|
|
Moonboots Apprentice
Joined: 02 Dec 2006 Posts: 161
|
Posted: Sat Sep 07, 2019 11:51 am Post subject: |
|
|
Obviously you have not built Firefox recently before, unfortunately clang is a dependency weather you build Firefox with or without it
Edit - sorry I didn’t pay attention to your initial post |
|
Back to top |
|
|
Belliash Advocate
Joined: 24 Nov 2004 Posts: 2503 Location: Wroclaw, Poland
|
|
Back to top |
|
|
Moonboots Apprentice
Joined: 02 Dec 2006 Posts: 161
|
Posted: Sat Sep 07, 2019 12:14 pm Post subject: |
|
|
Belliash wrote: | Even I compile clang ... Firefox builds with it instead of GCC regardless USE flags... |
That I cannot explain ? May be you could get an answer if you post your problem in the portage and programming section ? |
|
Back to top |
|
|
Juippisi Developer
Joined: 30 Sep 2005 Posts: 727 Location: /home
|
Posted: Sun Sep 08, 2019 8:57 am Post subject: |
|
|
I believe it's rust pulling clang and not firefox. Maybe you can try emerging using rust-bin and then firefox? |
|
Back to top |
|
|
Moonboots Apprentice
Joined: 02 Dec 2006 Posts: 161
|
Posted: Sun Sep 08, 2019 9:50 am Post subject: |
|
|
Juippisi wrote: | I believe it's rust pulling clang and not firefox. Maybe you can try emerging using rust-bin and then firefox? |
Yes you’re right about rust pulling in clang. There still rests his problem of why clang attempts to build FF when the flag is not enabled ? |
|
Back to top |
|
|
Belliash Advocate
Joined: 24 Nov 2004 Posts: 2503 Location: Wroclaw, Poland
|
Posted: Sun Sep 08, 2019 6:09 pm Post subject: |
|
|
Juippisi wrote: | I believe it's rust pulling clang and not firefox. Maybe you can try emerging using rust-bin and then firefox? |
No, it's not:
Code: | # emerge rust
These are the packages that would be merged, in order:
Calculating dependencies ... done!
[ebuild N ] net-libs/http-parser-2.9.2:0/2.9.0::gentoo USE="-static-libs" ABI_X86="32 (64) (-x32)" 0 KiB
[ebuild N ] net-libs/libssh2-1.9.0-r1::gentoo USE="zlib -gcrypt -libressl -mbedtls" ABI_X86="32 (64) (-x32)" 0 KiB
[ebuild N ] app-eselect/eselect-rust-20190311::gentoo 0 KiB
[ebuild N ] dev-lang/rust-1.37.0:stable/1.37::gentoo USE="-clippy -debug -doc -libressl -rls -rustfmt -system-llvm -wasm" ABI_X86="32 (64) (-x32)" CPU_FLAGS_X86="sse2" LLVM_TARGETS="NVPTX (X86) -AArch64 -AMDGPU -ARM -BPF -Hexagon -Lanai -MSP430 -Mips -PowerPC -Sparc -SystemZ -WebAssembly -XCore" 0 KiB
Total: 4 packages (4 new), Size of downloads: 0 KiB
Would you like to merge these packages? [Yes/No] |
It is for sure firefox:
Code: | || (
(
sys-devel/clang:8
!clang? ( sys-devel/llvm:8 )
clang? (
=sys-devel/lld-8*
sys-devel/llvm:8[gold]
pgo? ( =sys-libs/compiler-rt-sanitizers-8*[profile] )
)
)
(
sys-devel/clang:7
!clang? ( sys-devel/llvm:7 )
clang? (
=sys-devel/lld-7*
sys-devel/llvm:7[gold]
pgo? ( =sys-libs/compiler-rt-sanitizers-7*[profile] )
)
)
(
sys-devel/clang:6
!clang? ( sys-devel/llvm:6 )
clang? (
=sys-devel/lld-6*
sys-devel/llvm:6[gold]
pgo? ( =sys-libs/compiler-rt-sanitizers-6*[profile] )
)
)
) |
Thats a part of firefox ebuild and reason why it is pulling clang. If I copy ebuild and remove above part - it is no longer pulling clang in. But configure fails - it cannot find clang... _________________ Asio Software Technologies
Belliash IT Weblog |
|
Back to top |
|
|
Moonboots Apprentice
Joined: 02 Dec 2006 Posts: 161
|
Posted: Thu Sep 19, 2019 9:44 am Post subject: |
|
|
Firefox 69.0.1 is back to 48 minutes build time, perhaps the regression was fixed with the other bugs? |
|
Back to top |
|
|
|