Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Firefox 69 lto pgo build time
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo
View previous topic :: View next topic  
Author Message
Moonboots
Apprentice
Apprentice


Joined: 02 Dec 2006
Posts: 161

PostPosted: Wed Sep 04, 2019 5:17 pm    Post subject: Firefox 69 lto pgo build time Reply with quote

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
View user's profile Send private message
twalter
Tux's lil' helper
Tux's lil' helper


Joined: 07 Apr 2004
Posts: 103
Location: Churchill, Canada

PostPosted: Thu Sep 05, 2019 5:07 pm    Post subject: Reply with quote

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! :twisted:
Back to top
View user's profile Send private message
twalter
Tux's lil' helper
Tux's lil' helper


Joined: 07 Apr 2004
Posts: 103
Location: Churchill, Canada

PostPosted: Thu Sep 05, 2019 5:22 pm    Post subject: Reply with quote

And kaboom(-kill). So much for Qemu LTO. I'll try Firefox after I increase swap
Back to top
View user's profile Send private message
twalter
Tux's lil' helper
Tux's lil' helper


Joined: 07 Apr 2004
Posts: 103
Location: Churchill, Canada

PostPosted: Thu Sep 05, 2019 7:21 pm    Post subject: Reply with quote

For Firefox 69:

Code:

real    25m47.508s
user    287m27.493s
sys     8m16.416s


On a 3900x w/64GB

YMMV
Back to top
View user's profile Send private message
Juippisi
Developer
Developer


Joined: 30 Sep 2005
Posts: 727
Location: /home

PostPosted: Fri Sep 06, 2019 3:26 am    Post subject: Reply with quote

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
View user's profile Send private message
Moonboots
Apprentice
Apprentice


Joined: 02 Dec 2006
Posts: 161

PostPosted: Fri Sep 06, 2019 3:48 am    Post subject: Reply with quote

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
View user's profile Send private message
twalter
Tux's lil' helper
Tux's lil' helper


Joined: 07 Apr 2004
Posts: 103
Location: Churchill, Canada

PostPosted: Fri Sep 06, 2019 10:23 am    Post subject: Reply with quote

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
View user's profile Send private message
ulenrich
Veteran
Veteran


Joined: 10 Oct 2010
Posts: 1480

PostPosted: Fri Sep 06, 2019 9:28 pm    Post subject: Reply with quote

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
View user's profile Send private message
Belliash
Advocate
Advocate


Joined: 24 Nov 2004
Posts: 2503
Location: Wroclaw, Poland

PostPosted: Sat Sep 07, 2019 8:01 am    Post subject: Reply with quote

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
View user's profile Send private message
Moonboots
Apprentice
Apprentice


Joined: 02 Dec 2006
Posts: 161

PostPosted: Sat Sep 07, 2019 10:11 am    Post subject: Reply with quote

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
View user's profile Send private message
Belliash
Advocate
Advocate


Joined: 24 Nov 2004
Posts: 2503
Location: Wroclaw, Poland

PostPosted: Sat Sep 07, 2019 10:43 am    Post subject: Reply with quote

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
View user's profile Send private message
Moonboots
Apprentice
Apprentice


Joined: 02 Dec 2006
Posts: 161

PostPosted: Sat Sep 07, 2019 11:23 am    Post subject: Reply with quote

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
View user's profile Send private message
Belliash
Advocate
Advocate


Joined: 24 Nov 2004
Posts: 2503
Location: Wroclaw, Poland

PostPosted: Sat Sep 07, 2019 11:33 am    Post subject: Reply with quote

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
View user's profile Send private message
Moonboots
Apprentice
Apprentice


Joined: 02 Dec 2006
Posts: 161

PostPosted: Sat Sep 07, 2019 11:51 am    Post subject: Reply with quote

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
View user's profile Send private message
Belliash
Advocate
Advocate


Joined: 24 Nov 2004
Posts: 2503
Location: Wroclaw, Poland

PostPosted: Sat Sep 07, 2019 12:03 pm    Post subject: Reply with quote

Even I compile clang ... Firefox builds with it instead of GCC regardless USE flags...
_________________
Asio Software Technologies
Belliash IT Weblog
Back to top
View user's profile Send private message
Moonboots
Apprentice
Apprentice


Joined: 02 Dec 2006
Posts: 161

PostPosted: Sat Sep 07, 2019 12:14 pm    Post subject: Reply with quote

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
View user's profile Send private message
Juippisi
Developer
Developer


Joined: 30 Sep 2005
Posts: 727
Location: /home

PostPosted: Sun Sep 08, 2019 8:57 am    Post subject: Reply with quote

I believe it's rust pulling clang and not firefox. Maybe you can try emerging using rust-bin and then firefox?
Back to top
View user's profile Send private message
Moonboots
Apprentice
Apprentice


Joined: 02 Dec 2006
Posts: 161

PostPosted: Sun Sep 08, 2019 9:50 am    Post subject: Reply with quote

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
View user's profile Send private message
Belliash
Advocate
Advocate


Joined: 24 Nov 2004
Posts: 2503
Location: Wroclaw, Poland

PostPosted: Sun Sep 08, 2019 6:09 pm    Post subject: Reply with quote

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
View user's profile Send private message
Moonboots
Apprentice
Apprentice


Joined: 02 Dec 2006
Posts: 161

PostPosted: Thu Sep 19, 2019 9:44 am    Post subject: Reply with quote

Firefox 69.0.1 is back to 48 minutes build time, perhaps the regression was fixed with the other bugs?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum