Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[gelöst] Kompilierzeit firefox, thunderbird und andere
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page Previous  1, 2, 3, 4  Next  
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5206

PostPosted: Wed Aug 02, 2023 10:25 am    Post subject: Reply with quote

lazydog wrote:
https://drive.google.com/file/d/1QqpD-mCD-4MWTggl0eQvQMaPzxsywxkP/view?usp=sharing

Danke für das log. Aus dem konnte ich leider nur sehen dass das ganze Übersetzen seine 150min braucht.
Es kommt mir aber so vor als ob nur 1-2 (g)make prozesse parallel laufen würden um die sourcen zu übersetzen.

Um das zu prüfen könntest du mal die ausgabe von folgenden Befehl beobachten während firefox gerade übersetzt wird?
Code:
watch -n0.5 'ps ax | grep /usr/bin/gmake | wc -l'

Die ausgabe wird initial, wenn keine Übersetzung gerade läuft, die zahl 4 anzeigen. Das sind prozesse welche in der ps ax ausgabe den string "/usr/bin/gmake" enthalten aufgrund des watch befehls an sich.
Also alles normal.
Beispielausgabe:
Quote:
Every 0.5s: ps ax | grep /usr/bin/gmake |... host: Wed Aug 2 12:19:06 2023

4


Als ich lokal zum testen www-client/firefox-102.13.0 mit MAKEOPTS=-j14 übersetzt habe, schwankte die Zahl zwischen 10 und 18.
Was auch normal ist da nicht immer 14 parallele gmake jobs gestartet werden können, wenn z.b. aufgrund von Abhängigkeiten innerhalb des firefox sourcecodes nur weniger sourcecode files parallel übersetzt werden können zum Zeitpunkt X.
Die Übersetzung war dann bei mir nach grob 13min durch.
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
arfe1
n00b
n00b


Joined: 02 Aug 2023
Posts: 5

PostPosted: Wed Aug 02, 2023 10:32 am    Post subject: Reply with quote

@lazydog

Kannst oder hast Du Mal beobachtet mit wie viel GHz Auslastung er den Firefox baut?
Ich habe immer noch den gleichen Verdacht, dass die Kernel-Config bei Dir nicht stimmt.

Code:
watch -n1 'cpupower frequency-info | grep -i "current CPU frequency"'



Möglich ist auch, dass bei Dir einige Einstellungen in Deinem BIOS vom Mainboard falsch sind.
Oder ggf. Dein BIOS ein Bug hat und vielleicht schon ein Update von dem Hersteller gibt?

Was sagt Dein dmesg? Da müsste in etwa ähnliches bei Dir stehen:
Code:
[    0.224491] smp: Bringing up secondary CPUs ...
[    0.224535] x86: Booting SMP configuration:
[    0.224536] .... node  #0, CPUs:        #1  #2  #3  #4  #5  #6  #7  #8
[    0.233760]   #9 #10 #11 #12 #13 #14 #15
[    0.241729] smp: Brought up 1 node, 16 CPUs
[    0.241729] smpboot: Max logical packages: 2
[    0.241731] smpboot: Total of 16 processors activated (114977.53 BogoMIPS)

Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5206

PostPosted: Wed Aug 02, 2023 11:02 am    Post subject: Reply with quote

arfe1 wrote:
@lazydog

Kannst oder hast Du Mal beobachtet mit wie viel GHz Auslastung er den Firefox baut?
Ich habe immer noch den gleichen Verdacht, dass die Kernel-Config bei Dir nicht stimmt.

Wenn das so sein sollte, wie erklärst du dann, dass nur firefox und thunderbird das problem zeigen und nicht andere pakete?
Denn wenn die CPU, aus welchen gründen auch immer nie ihren maximalen Takt erreicht dann dürfte z.b. qtwebengine deutlich länger brauchen als firefox und thunderbird.
Was es aber nicht tut:
Quote:
mars ~ # genlop -t qtwebengine
* dev-qt/qtwebengine

Mon Jul 10 11:11:07 2023 >>> dev-qt/qtwebengine-5.15.10_p20230623
merge time: 55 minutes and 24 seconds.

_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5206

PostPosted: Wed Aug 02, 2023 11:06 am    Post subject: Reply with quote

Ich hab folgendes gefunden, und nachdem könnte eventuell doch eine Throttelung der CPU aufgrund von zu hoher Temperatur ein grund für die langsame bauzeiten sein.
https://linustechtips.com/topic/1508703-ryzen-5-7600x-throttles-at-70c/
Laut dem beginnen die CPUs schon herunterzutakten bevor sie überhaupt das maximale limit von 95° erreichen.
In dem oben genannten falle sei das schon am 70° der fall gewesen.
Und laut dem hier passierte es bei ca 80°
https://community.amd.com/t5/processors/ryzen-5-3550h-overheat-and-throttling-on-linux/td-p/156687

Aber so wirklich erklärt es das auch nicht denn dann müsste es auch dev-qt/qtwebengine betreffen.
Zu mindestens auf meinem system mit MAKEOPTS=-j18 lag die cpu kern temperatur bei firefox bei ca 81° in der spitze.
Und bei dev-qt/qtwebengine war es sogar in spitze 84°

@lazydog tauchen in der ausgabe von
Code:
dmesg
irgendwelche Fehlermeldungen/Warnungen auf während firefox übersetzt wird?
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
arfe1
n00b
n00b


Joined: 02 Aug 2023
Posts: 5

PostPosted: Wed Aug 02, 2023 11:07 am    Post subject: Reply with quote

firefly wrote:
[
Quote:
mars ~ # genlop -t qtwebengine
* dev-qt/qtwebengine

Mon Jul 10 11:11:07 2023 >>> dev-qt/qtwebengine-5.15.10_p20230623
merge time: 55 minutes and 24 seconds.


Dann sollte er Mal den firefox mit diesen Flags bauen:

Code:
www-client/firefox dbus gmp-autoupdate pulseaudio screenshot startup-notification system-av1 system-harfbuzz system-icu -system-jpeg system-libevent -system-libvpx system-sqlite system-webp


Code:
Installed versions:  102.13.0(esr)(20:06:40 30.07.2023)(clang dbus gmp-autoupdate openh264 pulseaudio system-av1 system-harfbuzz system-icu system-libevent system-webp wayland -debug -eme-free -geckodriver -hardened -hwaccel -jack -libproxy -lto -pgo -screencast -selinux -sndio -system-jpeg -system-libvpx -system-png -system-python-libs -wifi CPU_FLAGS_ARM="-neon" L10N="de -ach -af -an -ar -ast -az -be -bg -bn -br -bs -ca -ca-valencia -cak -cs -cy -da -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 -ne -nl -nn -oc -pa -pl -pt-BR -pt-PT -rm -ro -ru -sco -si -sk -sl -son -sq -sr -sv -szl -ta -te -th -tl -tr -trs -uk -ur -uz -vi -xh -zh-CN -zh-TW")


Das sind meine Flags für Firefox. Würde mich Mal interessieren, ob es dann schneller geht.
Back to top
View user's profile Send private message
kolibri
n00b
n00b


Joined: 27 Jul 2023
Posts: 27
Location: Boizenburg, Germany

PostPosted: Wed Aug 02, 2023 11:11 am    Post subject: Reply with quote

Ich fände interessant, ob sich die Kompilierzeit drastisch in irgendeine Richtung verändert, wenn er firefox mal ohne clang USE baut.

Denn qtwebengine wird mit gcc gebaut (glaube ich), Firefox in Normalfall mit clang (und Rust), vielleicht ist aber clang bei ihm irgendwie "komisch". Ist auch nur ne Vermutung, aber man weiß ja nie.
Back to top
View user's profile Send private message
arfe1
n00b
n00b


Joined: 02 Aug 2023
Posts: 5

PostPosted: Wed Aug 02, 2023 11:19 am    Post subject: Reply with quote

kolibri wrote:
Denn qtwebengine wird mit gcc gebaut (glaube ich), Firefox in Normalfall mit clang (und Rust), vielleicht ist aber clang bei ihm irgendwie "komisch". Ist auch nur ne Vermutung, aber man weiß ja nie.


Eigentlich sollte er unter 20 Minuten mit dem Build fertig sein. Auch mit clang und Rust.

clang sollte eigentlich so aussehen:

[code]
I] sys-devel/clang
Available versions:
(14) 14.0.6-r1^t 14.0.6-r4^t
(15) 15.0.7-r1(15/15g1)^t 15.0.7-r3(15/15g1)^t
(16) 16.0.6(16/16)^t
(17) **17.0.0_pre20230722(17/17)^t **17.0.0_rc1(17/17)^t **17.0.0.9999(17/17)*l^t
(18) **18.0.0.9999(18/18.0.0.9999)*l^t
{(+)debug default-compiler-rt default-libcxx default-lld (+)doc +extra ieee-long-double llvm-libunwind +pie +static-analyzer test verify-sig xml ABI_MIPS="n32 n64 o32" ABI_S390="32 64" ABI_X86="32 64 x32" LLVM_TARGETS="AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai LoongArch M68k MSP430 Mips NVPTX PowerPC RISCV SPIRV Sparc SystemZ VE WebAssembly X86 XCore Xtensa" PYTHON_SINGLE_TARGET="(+)python3_10 python3_11 python3_12"}
Installed versions: 15.0.7-r3(15/15g1)^t(00:12:22 29.07.2023)(extra pie static-analyzer verify-sig xml -debug -doc -ieee-long-double -test ABI_MIPS="-n32 -n64 -o32" ABI_S390="-32 -64" ABI_X86="64 -32 -x32" LLVM_TARGETS="AArch64 AMDGPU ARM AVR BPF Hexagon Lanai MSP430 Mips NVPTX PowerPC RISCV Sparc SystemZ VE WebAssembly X86 XCore -ARC -CSKY -DirectX -LoongArch -M68k -SPIRV" PYTHON_SINGLE_TARGET="python3_11 -python3_10") 16.0.6(16/16)^t(23:27:02 28.07.2023)(extra pie static-analyzer verify-sig xml -debug -doc -ieee-long-double -test ABI_MIPS="-n32 -n64 -o32" ABI_S390="-32 -64" ABI_X86="64 -32 -x32" LLVM_TARGETS="AArch64 AMDGPU ARM AVR BPF Hexagon Lanai LoongArch MSP430 Mips NVPTX PowerPC RISCV Sparc SystemZ VE WebAssembly X86 XCore -ARC -CSKY -DirectX -M68k -SPIRV -Xtensa" PYTHON_SINGLE_TARGET="python3_11 -python3_10 -python3_12")[code]

[/code]

Und Rust:


[code][I] dev-lang/rust
Available versions: (stable) 1.65.0(stable/1.65)^t 1.66.1(stable/1.66)^t ~1.67.1-r1(stable/1.67)^t ~1.68.2(stable/1.68)^t 1.69.0-r1(stable/1.69)^t ~1.70.0(stable/1.70)^t ~1.71.0(stable/1.71)^t
{big-endian clippy debug dist doc llvm-libunwind +lto miri nightly parallel-compiler profiler rust-analyzer rust-src rustfmt system-bootstrap system-llvm test verify-sig wasm ABI_MIPS="n32 n64 o32" ABI_S390="32 64" ABI_X86="32 64 x32" CPU_FLAGS_X86="sse2" LLVM_TARGETS="AArch64 AMDGPU ARM AVR BPF Hexagon Lanai LoongArch MSP430 Mips NVPTX PowerPC RISCV Sparc SystemZ VE WebAssembly X86 XCore"}
Installed versions: 1.69.0-r1(stable/1.69)^t(22:18:37 28.07.2023)(verify-sig -big-endian -clippy -debug -dist -doc -llvm-libunwind -miri -nightly -parallel-compiler -profiler -rust-analyzer -rust-src -rustfmt -system-bootstrap -system-llvm -test -wasm ABI_MIPS="-n32 -n64 -o32" ABI_S390="-32 -64" ABI_X86="64 -32 -x32" CPU_FLAGS_X86="sse2" LLVM_TARGETS="BPF NVPTX X86 -AArch64 -AMDGPU -ARM -AVR -Hexagon -Lanai -MSP430 -Mips -PowerPC -RISCV -Sparc -SystemZ -WebAssembly -XCore")[/code]
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5206

PostPosted: Wed Aug 02, 2023 11:40 am    Post subject: Reply with quote

kolibri wrote:
Ich fände interessant, ob sich die Kompilierzeit drastisch in irgendeine Richtung verändert, wenn er firefox mal ohne clang USE baut.

Denn qtwebengine wird mit gcc gebaut (glaube ich), Firefox in Normalfall mit clang (und Rust), vielleicht ist aber clang bei ihm irgendwie "komisch". Ist auch nur ne Vermutung, aber man weiß ja nie.

Könnte natürlich auch ein faktor sein, denn qtwebengine wird mit gcc übersetzt.
Und von den paketen, wo lazydog zeiten gepostet hat, haben nur firefox und thunderbird support um clang statt gcc zu nutzen. Und was auch bei den beiden Paketen bei default aktiv ist

@lazydog: Ab wann trat das problem auf dass auf einmal firefox/thunderbird so vie länger brauchen?
Das kannst du sehr gut mit
Code:
genlop -t firefox
nachschauen ab wann die Zeiten so massiv gestiegen sind.

EDIT:
@lazydog: Falls es mal ausprobieren möchtest firefox mit gcc statt mit clan zu übersetzen kannst du das wie folgt tun.
Code:
USE="-clang" ebuild /var/db/repos/gentoo/www-client/firefox/firefox-102.13.0.ebuild compile

ebuild statt emerge zu nutzen hat hier den vorteil, dass dadurch nur die steps bis einschließlich die übersetzung des sourcecodes durchgeführt wird.
Dadurch wird eine installierte firefox version nicht überschrieben. Alles bleibt im /var/tmp/portage Verzeichnis

Die letzten zeilen sehen dann in etwa so aus:
Quote:
13:03.68 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
>>> Source compiled.

Wo man dann direkt sehen kann wie lange das bauen an sich gedauert hat.

Um nach dem test die daten in /var/tmp/portage aufzuräumen führst du dann einfach folgenden befehl aus:
Code:
ebuild /var/db/repos/gentoo/www-client/firefox/firefox-102.13.0.ebuild clean


Den pfad /var/db/repos/gentoo/ musst du natürlich entsprechend anpassen, wenn du das gentoo haupt "repo" nicht unter /var/db/repos/gentoo/ liegen hast
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
kolibri
n00b
n00b


Joined: 27 Jul 2023
Posts: 27
Location: Boizenburg, Germany

PostPosted: Wed Aug 02, 2023 1:08 pm    Post subject: Reply with quote

Aufbauend auf dem Vorschlag von @firefly ergänze das Command bitte noch um "time".

Ich habe zum Spaß mal Firefox mit und ohne clang gebaut, damit man die zu erwartetende relative Differenz sehen kann:

Code:
# mit clang
time ebuild /var/db/repos/gentoo/www-client/firefox/firefox-102.13.0.ebuild compile
...
real  9m16,207s
user  187m51,522s
sys   7m4,933s

# ohne clang
time USE="-clang" ebuild /var/db/repos/gentoo/www-client/firefox/firefox-102.13.0.ebuild compile
...
real  12m44,891s
user  223m22,713s
sys   11m7,421s


Wichtig vorallem sind die user und sys Werte. Also dein sys Wert sollte relativ gering sein im Vergleich zu den user Werten. Und die User Werte sollten ähnlich wie bei mir sein, auch wenn du weniger Kerne hast/nutzt. real kann man hier ignorieren, da es halt von den Kernen und Threads abhängt.

Wenn wir deine time Werte kennen, können wir vielleicht wieder ein paar Ursachen ausschließen.
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5206

PostPosted: Wed Aug 02, 2023 1:56 pm    Post subject: Reply with quote

kolibri wrote:
Aufbauend auf dem Vorschlag von @firefly ergänze das Command bitte noch um "time".

Ist schön aber nicht unbedingt relevant da das build system von firefox relative "timestamps" mit ausgibt wenn es einen befehl/logmeldung ausgibt wie diese hier zum schluss:

Quote:
13:03.68 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
>>> Source compiled.

Das war mein run mit USE=-clang und laut dem hat das bauen an sich 13min 3s 680ms gedauert
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
kolibri
n00b
n00b


Joined: 27 Jul 2023
Posts: 27
Location: Boizenburg, Germany

PostPosted: Wed Aug 02, 2023 2:05 pm    Post subject: Reply with quote

Naja, sollte er es mit time ausführen und sein sys Wert ist dann auffällig hoch, dann könnte die Ursache schon tiefer liegen als gcc/clang selbst. Dann rücken allerhand Dinge wie Kernel, Dateisystem, Memory usw. in Betracht.
Also wenn er sich den Schmerz und die Wartezeit mit einem erneuten Compilen schon antut, dann lieber so viele Messwerte mitnehmen wie geht. :)

EDIT: noch mehr Messdaten gäbe es mit sys-process/time, z.B. den Speicherverbrauch und wie oft & viel geswappt wird.
Code:
/usr/bin/time ebuild /var/db/repos/gentoo/www-client/firefox/firefox-102.13.0.ebuild compile

USE="-clang" /usr/bin/time ebuild /var/db/repos/gentoo/www-client/firefox/firefox-102.13.0.ebuild compile
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5206

PostPosted: Wed Aug 02, 2023 2:26 pm    Post subject: Reply with quote

kolibri wrote:
Naja, sollte er es mit time ausführen und sein sys Wert ist dann auffällig hoch, dann könnte die Ursache schon tiefer liegen als gcc/clang selbst. Dann rücken allerhand Dinge wie Kernel, Dateisystem, Memory usw. in Betracht.
Also wenn er sich den Schmerz und die Wartezeit mit einem erneuten Compilen schon antut, dann lieber so viele Messwerte mitnehmen wie geht. :)

EDIT: noch mehr Messdaten gäbe es mit sys-process/time, z.B. den Speicherverbrauch und wie oft & viel geswappt wird.
Code:
/usr/bin/time ebuild /var/db/repos/gentoo/www-client/firefox/firefox-102.13.0.ebuild compile

USE="-clang" /usr/bin/time ebuild /var/db/repos/gentoo/www-client/firefox/firefox-102.13.0.ebuild compile

stimmt auch wieder :)
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
lazydog
n00b
n00b


Joined: 26 Feb 2007
Posts: 64

PostPosted: Wed Aug 02, 2023 6:01 pm    Post subject: Reply with quote

Heiliges Kanonenrohr. Das Problem ist das heftigste in den letzten fast 20 Jahren (was den Zeitaufwand zur Lösungsfindung angeht)

Zwischenbericht:

@firefly: gmake prozesse laufen genug (14 bis 20), überprüft mit watch wie vorgeschlagen.

Ich weiss leider nicht seit wann das Problem existiert. Habe vor etwa 4 Wochen neu installiert, da ich eine neue SSD eingebaut habe. Daher fehlen die alten Zeiten (die alte SSD ist leider inzwischen gelöscht) aber gefühlt würde ich sagen die Platform war bei firefox und thunderbird schon immer langsam :(

@arfe1: frequency-info liefert fast durchgehend 4,3 GHz (das sollte der all-core turbo max sein afaik)

Habe die Lüfter am Radiator aggressiver eingestellt Tccd1 max 76° C jetzt.

BIOS ist das aktuellste. Das Board ist übrigens ein MSI MAG X570S Tomahawk Max Wifi (was ein Name...)

smp: Bringing up secondary CPUs ...
[ 0.286024] x86: Booting SMP configuration:
[ 0.286024] .... node #0, CPUs: #1 #2 #3 #4 #5 #6 #7 #8
[ 0.299061] Spectre V2 : Update user space SMT mitigation: STIBP always-on
[ 0.299090] #9 #10 #11 #12 #13 #14 #15
[ 0.307038] smp: Brought up 1 node, 16 CPUs
[ 0.307043] smpboot: Max logical packages: 2
[ 0.307045] smpboot: Total of 16 processors activated (108795.84 BogoMIPS)

sonst keine Fehler während Compiler läuft in dmesg. Kein einziger.



firefox mit gcc:
Code:

>>> Source compiled.

real    16m38.766s
user    214m22.366s
sys     8m4.996s

build log:

16:07.86 Your build was successful!
To take your build for a test drive, run: |mach run|


Ich feuer jetzt nochmal an mit clang und rust und messe mit sys-process/time.
(clang, rust und llvm wurden übrigens alle mit den default USE-Flags gebaut)

Das einzige was ich in make.conf habe ist:

USE="-fortran -gpm -webengine" (wobei qtwebengine immer noch installiert ist, weil ich den Falkon Browser teste)
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5206

PostPosted: Wed Aug 02, 2023 6:35 pm    Post subject: Reply with quote

lazydog wrote:

firefox mit gcc:
Code:

>>> Source compiled.

real    16m38.766s
user    214m22.366s
sys     8m4.996s

build log:

16:07.86 Your build was successful!
To take your build for a test drive, run: |mach run|

Da haben wir den beweiß dass es am clang liegt wiso das bauen so lange dauert. Aber wieso bei dir clang soo langsam ist mir fürs erste ein Rätsel.
Unter umständen ungünstige compiler flags für clang oder llvm.

Hier mal ein paar informationen von meinem System
Quote:
sys-devel/llvm-15.0.7-r3:15::gentoo USE="binutils-plugin libffi ncurses xml -debug -doc -exegesis -libedit -test -verify-sig -xar -z3 -zstd" ABI_X86="32 (64) (-x32)" LLVM_TARGETS="(AArch64) (AMDGPU) (ARM) (AVR) (BPF) (Hexagon) (Lanai) (MSP430) (Mips) (NVPTX) (PowerPC) (RISCV) (Sparc) (SystemZ) (VE) (WebAssembly) (X86) (XCore) (-ARC) (-CSKY) (-DirectX) (-LoongArch) (-M68k) (-SPIRV)"

sys-devel/clang-15.0.7-r3:15/15g1::gentoo USE="extra (pie) static-analyzer xml -debug -doc (-ieee-long-double) -test -verify-sig" ABI_X86="(64) -32 (-x32)" LLVM_TARGETS="(AArch64) (AMDGPU) (ARM) (AVR) (BPF) (Hexagon) (Lanai) (MSP430) (Mips) (NVPTX) (PowerPC) (RISCV) (Sparc) (SystemZ) (VE) (WebAssembly) (X86) (XCore) (-ARC) (-CSKY) (-DirectX) (-LoongArch) (-M68k) (-SPIRV)" PYTHON_SINGLE_TARGET="python3_11 -python3_10"

sys-devel/lld-15.0.7:15::gentoo USE="-debug -test -verify-sig"


Relevante compiler flags

Quote:
CFLAGS="-O2 -march=native -pipe"
CXXFLAGS="-O2 -march=native -pipe"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"


Und llvm/clang mit gcc-12.3.1_p20230526 übersetzt

Quote:
sys-devel/gcc-12.3.1_p20230526:12::gentoo USE="(cxx) (multilib) nls nptl openmp (pie) sanitize ssp -ada (-cet) (-custom-cflags) -d -debug -default-stack-clash-protection -default-znow -doc (-fixed-point) -fortran -go -graphite -hardened (-ieee-long-double) -jit (-libssp) -lto -objc -objc++ -objc-gc (-pch) -pgo -systemtap -test -valgrind -vanilla -vtv -zstd"

_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
ManfredB
Veteran
Veteran


Joined: 27 Dec 2007
Posts: 1617

PostPosted: Wed Aug 02, 2023 6:52 pm    Post subject: Reply with quote

Kurze Meldung.
eine neue Version von Firefox ist herausgekommen. 102.14.0

Gruß
ManfredB
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5206

PostPosted: Wed Aug 02, 2023 7:00 pm    Post subject: Reply with quote

ManfredB wrote:
Kurze Meldung.
eine neue Version von Firefox ist herausgekommen. 102.14.0

Gruß
ManfredB

Was für dieses Problem komplett irrelevant ist!
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
kolibri
n00b
n00b


Joined: 27 Jul 2023
Posts: 27
Location: Boizenburg, Germany

PostPosted: Wed Aug 02, 2023 8:42 pm    Post subject: Reply with quote

Sehr schön, wir kommen der Ursache also schonmal näher. Nächste Frage an @lazydog: Hast du zufällig auch eins der anderen Pakete installiert, die ein clang USE flag unterstützen?
Siehe hier: https://packages.gentoo.org/useflags/clang

Eventuell kannst du mit einem der kleineren Pakete dort (also kleiner als Firefox) auch gcc gegen clang testen. Also wenn die dann auch mit clang länger brauchen als mit gcc, dann liegt's definitiv an clang.
Kannst ja auch nur mit time ebuild ... compile testen, musst ja nicht voll emergen.

Und bitte mal ein aktuelles genlop -i clang und clang --version hier schicken. :)
Back to top
View user's profile Send private message
lazydog
n00b
n00b


Joined: 26 Feb 2007
Posts: 64

PostPosted: Thu Aug 03, 2023 7:44 am    Post subject: Reply with quote

Hier das neuste Ergebnis von firefox mit clang:

Code:
/usr/bin/time ebuild /var/db/repos/gentoo/www-client/firefox/firefox-102.13.0.ebuild compile


Code:

We know it took a while, but your build finally finished successfully!
108:24.46 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
>>> Source compiled.
88937.52user 241.36system 1:48:25elapsed 1370%CPU (0avgtext+0avgdata 3722576maxresident)k
0inputs+0outputs (1282major+79285438minor)pagefaults 0swaps


Seltsamerweise rund 45 Minuten schneller als bisher (das war nach dem BIOS-Update), aber immer noch viel zu lang. Und wieso gibts soviele pagefaults?

@firefly

meine Build-Settings zu llvm, clang und gcc sind identisch zu deinen.
Bei den Compiler Flags hab ich -march=znver3 (was ja identisch zu 'native' sein sollte), Rest ist gleich ( -O2 -pipe und auch die LDFlags sind gleich).


@kolibri:

Code:
mars /home/donmarcos # genlop -i clang
 * sys-devel/clang


   Total builds: 5
   Global build time: 1 hour, 2 minutes.
   Average merge time: 12 minutes and 24 seconds.

   Info about currently installed ebuild:

   * sys-devel/clang-15.0.7-r3
   Install date: Mon Jul 17 12:34:34 2023
   USE="xml -debug -doc -+extra -ieee-long-double -+pie -+static-analyzer -test"
   CFLAGS="-march=znver3 -O2 -pipe"   CXXFLAGS=""   LDFLAGS="-Wl,-O1 -Wl,--as-needed"

   * sys-devel/clang-16.0.6
   Install date: Sun Jul 30 14:32:17 2023
   USE="xml -debug -doc -+extra -ieee-long-double -+pie -+static-analyzer -test"
   CFLAGS="-O2 -march=znver3 -pipe"   CXXFLAGS="-O2 -march=znver3 -pipe"   LDFLAGS="-Wl,-O1 -Wl,--as-needed"


Code:
clang --version

clang version 16.0.6
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm/16/bin
Configuration file: /etc/clang/clang.cfg



Habe mal perf mit und ohne clang probiert, aber das Paket ist sehr klein. Nächster Test libreoffice (noch nicht installiert :roll: )

Code:
/usr/bin/time ebuild /var/db/repos/gentoo/dev-util/perf/perf-6.3.ebuild compile

>>> Source compiled.
117.20user 13.76system 0:33.95elapsed 385%CPU (0avgtext+0avgdata 139944maxresident)k
0inputs+0outputs (405major+5430404minor)pagefaults 0swaps



Code:
USE="clang" /usr/bin/time ebuild /var/db/repos/gentoo/dev-util/perf/perf-6.3.ebuild compile

>>> Source compiled.
127.33user 14.58system 0:29.51elapsed 480%CPU (0avgtext+0avgdata 919596maxresident)k
0inputs+0outputs (1350major+6016239minor)pagefaults 0swaps
Back to top
View user's profile Send private message
kolibri
n00b
n00b


Joined: 27 Jul 2023
Posts: 27
Location: Boizenburg, Germany

PostPosted: Thu Aug 03, 2023 8:07 am    Post subject: Reply with quote

lazydog wrote:
Hier das neuste Ergebnis von firefox mit clang:

Code:
/usr/bin/time ebuild /var/db/repos/gentoo/www-client/firefox/firefox-102.13.0.ebuild compile


Code:

We know it took a while, but your build finally finished successfully!
108:24.46 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
>>> Source compiled.
88937.52user 241.36system 1:48:25elapsed 1370%CPU (0avgtext+0avgdata 3722576maxresident)k
0inputs+0outputs (1282major+79285438minor)pagefaults 0swaps


Seltsamerweise rund 45 Minuten schneller als bisher (das war nach dem BIOS-Update), aber immer noch viel zu lang. Und wieso gibts soviele pagefaults?


Also wenn ich Firefox so baue, habe ich wesentlich mehr pagefaults. Ich wundere mich ein bisschen, dass du keine Inputs/Outputs hast. Aber deine "user" Prozesse verrichten grob 8 mal so viel Arbeit wie meine, das ist sehr komisch. Das könnte ich mir nur vorstellen, wenn du für clang irgendwo hart LTO und/oder PGO erzwingst.

Hier meine Daten:
Code:
11365.47user 414.45system 9:18.60elapsed 2108%CPU (0avgtext+0avgdata 4465080maxresident)k
57056inputs+424outputs (17909major+130098029minor)pagefaults 0swaps


Sehr komisch, denn ich habe exakt gleiche clang Versionen wie du mit gleichen CFLAGS und einzige Unterschied, dass ich -xml habe. An der clang config in /etc/clang hast ja auch nichts verändert, oder?
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5206

PostPosted: Thu Aug 03, 2023 8:24 am    Post subject: Reply with quote

lazydog wrote:
@firefly

meine Build-Settings zu llvm, clang und gcc sind identisch zu deinen.
Bei den Compiler Flags hab ich -march=znver3 (was ja identisch zu 'native' sein sollte), Rest ist gleich ( -O2 -pipe und auch die LDFlags sind gleich).

Nicht unbedingt das es das identische ist. Sehr gut möglich das znver3 andere optimierungen aktiviert als die erkennung via 'native'.
Auch wenn znver3 für die Zen generation, welche in der 5000er Version der Ryzen CPUs verwendet wird passt sollte.
AFAIK ist die "3D" version 5800X3D der CPU unterschiedlich zu den non "3D" versionen.
Aber das ganze erklärt trotzdem nicht wieso das nur clang/llvm so stark betrifft und nicht auch den gcc

Aber es wäre ein versuch wert llvm und clang mit march=native mal zu übersetzen ob es einen unterschied macht
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5206

PostPosted: Thu Aug 03, 2023 8:39 am    Post subject: Reply with quote

lazydog wrote:

Code:
mars /home/donmarcos # genlop -i clang
 * sys-devel/clang


   Total builds: 5
   Global build time: 1 hour, 2 minutes.
   Average merge time: 12 minutes and 24 seconds.

   Info about currently installed ebuild:

   * sys-devel/clang-15.0.7-r3
   Install date: Mon Jul 17 12:34:34 2023
   USE="xml -debug -doc -+extra -ieee-long-double -+pie -+static-analyzer -test"
   CFLAGS="-march=znver3 -O2 -pipe"   CXXFLAGS=""   LDFLAGS="-Wl,-O1 -Wl,--as-needed"


WEnn ich das hier sehe solltest du zu mindestens clang-15 und am besten auch llvm-15 neu übersetzen denn zu mindestens beim clang-15 wurden kein CXXFLAGS gesetzt wodurch keinerlei optimierungen angewendet wurden die über ein standard setup im compiler hinaus geht.
Denn llvm/clang sind in C++ geschrieben wofür die CXXFLAGS verwendet werden
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
lazydog
n00b
n00b


Joined: 26 Feb 2007
Posts: 64

PostPosted: Thu Aug 03, 2023 9:16 am    Post subject: Reply with quote

@kolibri: clang.cfg habe ich nicht angerührt

@firefly: Yup, nach posten meines letzten Beitrags ist mir auch aufgefallen, daß CXXFLAGS bei clang fehlen. Das ist vor ein paar Tagen passiert, da hat die Zeile COMMON_FLAGS in etc/portage/make.conf gefehlt (Ursache unbekannt .. wohl von Wurstfingern...).

Habe jetzt clang-15.0.7 mit korrekten CXXFLAGS neu gebaut und hinterher firefox. build time 56 Minuten und 49 Sekunden. Kommen wir der Sache näher? :lol: :?

Jetzt probier ich noch march=native...
Back to top
View user's profile Send private message
kolibri
n00b
n00b


Joined: 27 Jul 2023
Posts: 27
Location: Boizenburg, Germany

PostPosted: Thu Aug 03, 2023 9:44 am    Post subject: Reply with quote

Ich würde eigentlich vermuten, dass clang-15 egal ist, da Firefox mit clang-16 gebaut werden sollte. Es ist ja immerhin seine "Standard" clang Version (clang --version)
Back to top
View user's profile Send private message
kolibri
n00b
n00b


Joined: 27 Jul 2023
Posts: 27
Location: Boizenburg, Germany

PostPosted: Thu Aug 03, 2023 9:46 am    Post subject: Reply with quote

lazydog wrote:

Seltsamerweise rund 45 Minuten schneller als bisher (das war nach dem BIOS-Update), ...


Heißt, du hast nen BIOS Update gemacht und damit wurde es schonmal schneller? Noch eine Idee, hast du auch aktuelle Microcode-Patches in deinem Kernel? Und sonst kannst du vielleicht auch mal mitigations=off in deine Kernel cmdline aufnehmen und booten.
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5206

PostPosted: Thu Aug 03, 2023 9:53 am    Post subject: Reply with quote

kolibri wrote:
Ich würde eigentlich vermuten, dass clang-15 egal ist, da Firefox mit clang-16 gebaut werden sollte. Es ist ja immerhin seine "Standard" clang Version (clang --version)

Nein es wird clang-15 verwendet siehe log ;) Und seine frage zu dieser Meldung im log:

Code:
* sys-devel/lld:16 is missing! Cannot use LLVM slot 16 ...
 * Using LLVM slot 15 to build

_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Goto page Previous  1, 2, 3, 4  Next
Page 3 of 4

 
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