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  
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
lazydog
n00b
n00b


Joined: 26 Feb 2007
Posts: 64

PostPosted: Thu Aug 03, 2023 10:09 am    Post subject: Reply with quote

Ja, die Patches sollten im Kernel sein:

Code:
-*- Firmware loading facility
   (amd-ucode/microcode_amd_fam19h.bin) Build named firmware blobs i
   (/lib/firmware) Firmware blobs root directory
  [ ]   Enable the firmware sysfs fallback mechanism
  [ ]   Enable compressed firmware support
  [*]   Enable firmware caching during suspend
  [ ]   Enable users to initiate firmware updates using sysfs


mitigations sind derzeit on .. kommt als nächstes auf die Liste (obwohl die sollten nicht soviel Performance kosten? )


Ja, der BIOS-Update hat wohl einen kleinen Schub gebracht
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5191

PostPosted: Thu Aug 03, 2023 10:22 am    Post subject: Reply with quote

lazydog wrote:
Ja, die Patches sollten im Kernel sein:

Code:
-*- Firmware loading facility
   (amd-ucode/microcode_amd_fam19h.bin) Build named firmware blobs i
   (/lib/firmware) Firmware blobs root directory
  [ ]   Enable the firmware sysfs fallback mechanism
  [ ]   Enable compressed firmware support
  [*]   Enable firmware caching during suspend
  [ ]   Enable users to initiate firmware updates using sysfs


mitigations sind derzeit on .. kommt als nächstes auf die Liste (obwohl die sollten nicht soviel Performance kosten? )

Und eher generell performance kosten. Aber aktuell betrifft es nur llvm/clang aber nicht gcc daher sind die mitigations eher hier nicht der gravierende faktor.
_________________
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: Thu Aug 03, 2023 10:37 am    Post subject: Reply with quote

naja, die Mitigations greifen bei bestimmten Befehlen und Speicheraktionen härter zu als bei anderen, von daher würde ich es hier nicht ganz ausschließen, dass clang dort anders arbeitet als gcc und vielleicht deshalb öfter die Mitigations triggert.

Und solange man nur vertrauenswürdige und kompetente Nutzer auf dem System hat, kann man sich die Mitigations eigentlich sparen. Wichtig sind sie, wenn man virtualisiert und/oder "Kunden" hostet, die da mehr oder weniger alles an Binaries hochladen und ausführen können.

PS: natürlich stark vereinfacht ausgedrückt, in der Realität ist es ein bisschen komplizierter.
Back to top
View user's profile Send private message
lazydog
n00b
n00b


Joined: 26 Feb 2007
Posts: 64

PostPosted: Thu Aug 03, 2023 10:41 am    Post subject: Reply with quote

Das gibts doch gar nicht ... clang, llvm und rust mit march=native (und firefox ebenfalls):

Code:
Thu Aug  3 12:39:33 2023 >>> www-client/firefox-102.13.0
       merge time: 14 minutes and 43 seconds.


8O 8O

Warum ist da ein riesen Unterschied zwischen znver3 und native? :?:
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5191

PostPosted: Thu Aug 03, 2023 10:58 am    Post subject: Reply with quote

lazydog wrote:
Das gibts doch gar nicht ... clang, llvm und rust mit march=native (und firefox ebenfalls):

Code:
Thu Aug  3 12:39:33 2023 >>> www-client/firefox-102.13.0
       merge time: 14 minutes and 43 seconds.


8O 8O

Warum ist da ein riesen Unterschied zwischen znver3 und native? :?:

Das bedeutet, dass die optimierungen, welche durch die explizite angabe von znver3, aktiviert werden scheinbar ungünstig für deine CPU sind.
-march=native aktiviert auch znver3 aber zusätzlich optionen die spezifisch für die aktuelle cpu sind.

Kannst du mal die ausgaben von
Code:
gcc -march=native -Q --help=target -v

und
Code:
gcc -march=znver3 -Q --help=target -v

hier posten?
_________________
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: Thu Aug 03, 2023 11:09 am    Post subject: Reply with quote

Also bei meinem Ryzen 5950X ist der einzige Unterschied zwischen native und znver3 der, dass bei native auch noch -mshstk eingeschaltet ist.
Hab dazu beide Commands von firefly in Dateien umgeleitet und dann nen diff gemacht.

Bin mal gespannt, was bei @lazydog rauskommt.
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5191

PostPosted: Thu Aug 03, 2023 11:17 am    Post subject: Reply with quote

kolibri wrote:
Also bei meinem Ryzen 5950X ist der einzige Unterschied zwischen native und znver3 der, dass bei native auch noch -mshstk eingeschaltet ist.
Hab dazu beide Commands von firefly in Dateien umgeleitet und dann nen diff gemacht.

Bin mal gespannt, was bei @lazydog rauskommt.

Da du auch eine zen3 cpu hast, kannst du mal einen test machen wenn du für llvm/clang march=znver3 setzt und dann versuchst firefox zu bauen?
Dauert es bei dir dann deutlich länger? oder ist die zeit dann quasi identisch
_________________
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: Thu Aug 03, 2023 11:28 am    Post subject: Reply with quote

firefly wrote:

Da du auch eine zen3 cpu hast, kannst du mal einen test machen wenn du für llvm/clang march=znver3 setzt und dann versuchst firefox zu bauen?
Dauert es bei dir dann deutlich länger? oder ist die zeit dann quasi identisch


Bei mir ist alles mit znver3 gebaut, native hatte ich auf dem Gerät hier nicht. Also auch alle meine hier geposteten Zeiten sind mit znver3. Native sollte aber auch keinen Unterschied machen, wenn shstk der einzige Unterschied ist.
Back to top
View user's profile Send private message
lazydog
n00b
n00b


Joined: 26 Feb 2007
Posts: 64

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

Code:
gcc -march=native -Q --help=target -v

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/12/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/work/gcc-12-20230526/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/12 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/12/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/12 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/12/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/12/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12 --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/12/python --enable-languages=c,c++ --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --disable-libunwind-exceptions --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 12.3.1_p20230526 p2' --with-gcc-major-version-only --enable-libstdcxx-time --enable-lto --disable-libstdcxx-pch --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m32,m64 --disable-fixed-point --enable-targets=all --enable-libgomp --disable-libssp --disable-libada --disable-cet --disable-systemtap --disable-valgrind-annotations --disable-vtable-verify --disable-libvtv --without-zstd --without-isl --enable-default-pie --enable-default-ssp
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 12.3.1 20230526 (Gentoo 12.3.1_p20230526 p2)
COLLECT_GCC_OPTIONS='-march=native' '-Q' '--help=target' '-v' '-dumpdir' 'a-'
 /usr/libexec/gcc/x86_64-pc-linux-gnu/12/cc1 -v help-dummy -march=znver3 -mmmx -mpopcnt -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -mavx2 -msse4a -mno-fma4 -mno-xop -mfma -mno-avx512f -mbmi -mbmi2 -maes -mpclmul -mno-avx512vl -mno-avx512bw -mno-avx512dq -mno-avx512cd -mno-avx512er -mno-avx512pf -mno-avx512vbmi -mno-avx512ifma -mno-avx5124vnniw -mno-avx5124fmaps -mno-avx512vpopcntdq -mno-avx512vbmi2 -mno-gfni -mvpclmulqdq -mno-avx512vnni -mno-avx512bitalg -mno-avx512bf16 -mno-avx512vp2intersect -mno-3dnow -madx -mabm -mno-cldemote -mclflushopt -mclwb -mclzero -mcx16 -mno-enqcmd -mf16c -mfsgsbase -mfxsr -mno-hle -msahf -mno-lwp -mlzcnt -mmovbe -mno-movdir64b -mno-movdiri -mmwaitx -mno-pconfig -mpku -mno-prefetchwt1 -mprfchw -mno-ptwrite -mrdpid -mrdrnd -mrdseed -mno-rtm -mno-serialize -mno-sgx -msha -mshstk -mno-tbm -mno-tsxldtrk -mvaes -mno-waitpkg -mwbnoinvd -mxsave -mxsavec -mxsaveopt -mxsaves -mno-amx-tile -mno-amx-int8 -mno-amx-bf16 -mno-uintr -mno-hreset -mno-kl -mno-widekl -mno-avxvnni -mno-avx512fp16 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=512 -mtune=znver3 -dumpdir a- -dumpbase help-dummy -version --help=target -o /tmp/ccNR7LwK.s
The following options are target specific:
  -m128bit-long-double                  [enabled]
  -m16                                  [disabled]
  -m32                                  [disabled]
  -m3dnow                               [disabled]
  -m3dnowa                              [disabled]
  -m64                                  [enabled]
  -m80387                               [enabled]
  -m8bit-idiv                           [disabled]
  -m96bit-long-double                   [disabled]
  -mabi=                                sysv
  -mabm                                 [enabled]
  -maccumulate-outgoing-args            [disabled]
  -maddress-mode=                       long
  -madx                                 [enabled]
  -maes                                 [enabled]
  -malign-data=                         compat
  -malign-double                        [disabled]
  -malign-functions=                    0
  -malign-jumps=                        0
  -malign-loops=                        0
  -malign-stringops                     [enabled]
  -mamx-bf16                            [disabled]
  -mamx-int8                            [disabled]
  -mamx-tile                            [disabled]
  -mandroid                             [disabled]
  -march=                               znver3
  -masm=                                att
  -mavx                                 [enabled]
  -mavx2                                [enabled]
  -mavx256-split-unaligned-load         [disabled]
  -mavx256-split-unaligned-store        [disabled]
  -mavx5124fmaps                        [disabled]
  -mavx5124vnniw                        [disabled]
  -mavx512bf16                          [disabled]
  -mavx512bitalg                        [disabled]
  -mavx512bw                            [disabled]
  -mavx512cd                            [disabled]
  -mavx512dq                            [disabled]
  -mavx512er                            [disabled]
  -mavx512f                             [disabled]
  -mavx512fp16                          [disabled]
  -mavx512ifma                          [disabled]
  -mavx512pf                            [disabled]
  -mavx512vbmi                          [disabled]
  -mavx512vbmi2                         [disabled]
  -mavx512vl                            [disabled]
  -mavx512vnni                          [disabled]
  -mavx512vp2intersect                  [disabled]
  -mavx512vpopcntdq                     [disabled]
  -mavxvnni                             [disabled]
  -mbionic                              [disabled]
  -mbmi                                 [enabled]
  -mbmi2                                [enabled]
  -mbranch-cost=<0,5>                   3
  -mcall-ms2sysv-xlogues                [disabled]
  -mcet-switch                          [disabled]
  -mcld                                 [disabled]
  -mcldemote                            [disabled]
  -mclflushopt                          [enabled]
  -mclwb                                [enabled]
  -mclzero                              [enabled]
  -mcmodel=                             [default]
  -mcpu=                     
  -mcrc32                               [enabled]
  -mcx16                                [enabled]
  -mdaz-ftz                             [disabled]
  -mdirect-extern-access                [enabled]
  -mdispatch-scheduler                  [disabled]
  -mdump-tune-features                  [disabled]
  -menqcmd                              [disabled]
  -mf16c                                [enabled]
  -mfancy-math-387                      [enabled]
  -mfentry                              [disabled]
  -mfentry-name=             
  -mfentry-section=           
  -mfma                                 [enabled]
  -mfma4                                [disabled]
  -mforce-drap                          [disabled]
  -mforce-indirect-call                 [disabled]
  -mfp-ret-in-387                       [enabled]
  -mfpmath=                             sse
  -mfsgsbase                            [enabled]
  -mfunction-return=                    keep
  -mfused-madd                          -ffp-contract=fast
  -mfxsr                                [enabled]
  -mgeneral-regs-only                   [disabled]
  -mgfni                                [disabled]
  -mglibc                               [enabled]
  -mhard-float                          [enabled]
  -mharden-sls=                         none
  -mhle                                 [disabled]
  -mhreset                              [disabled]
  -miamcu                               [disabled]
  -mieee-fp                             [enabled]
  -mincoming-stack-boundary=            0
  -mindirect-branch-cs-prefix           [disabled]
  -mindirect-branch-register            [disabled]
  -mindirect-branch=                    keep
  -minline-all-stringops                [disabled]
  -minline-stringops-dynamically        [disabled]
  -minstrument-return=                  none
  -mintel-syntax                        -masm=intel
  -mkl                                  [disabled]
  -mlarge-data-threshold=<number>       65536
  -mlong-double-128                     [disabled]
  -mlong-double-64                      [disabled]
  -mlong-double-80                      [enabled]
  -mlwp                                 [disabled]
  -mlzcnt                               [enabled]
  -mmanual-endbr                        [disabled]
  -mmemcpy-strategy=         
  -mmemset-strategy=         
  -mmitigate-rop                        [disabled]
  -mmmx                                 [enabled]
  -mmovbe                               [enabled]
  -mmovdir64b                           [disabled]
  -mmovdiri                             [disabled]
  -mmove-max=                           128
  -mmpx                                 [disabled]
  -mms-bitfields                        [disabled]
  -mmusl                                [disabled]
  -mmwait                               [enabled]
  -mmwaitx                              [enabled]
  -mneeded                              [disabled]
  -mno-align-stringops                  [disabled]
  -mno-default                          [disabled]
  -mno-fancy-math-387                   [disabled]
  -mno-push-args                        [disabled]
  -mno-red-zone                         [disabled]
  -mno-sse4                             [disabled]
  -mnop-mcount                          [disabled]
  -momit-leaf-frame-pointer             [disabled]
  -mpc32                                [disabled]
  -mpc64                                [disabled]
  -mpc80                                [disabled]
  -mpclmul                              [enabled]
  -mpcommit                             [disabled]
  -mpconfig                             [disabled]
  -mpku                                 [enabled]
  -mpopcnt                              [enabled]
  -mprefer-avx128                       -mprefer-vector-width=128
  -mprefer-vector-width=                none
  -mpreferred-stack-boundary=           0
  -mprefetchwt1                         [disabled]
  -mprfchw                              [enabled]
  -mptwrite                             [disabled]
  -mpush-args                           [enabled]
  -mrdpid                               [enabled]
  -mrdrnd                               [enabled]
  -mrdseed                              [enabled]
  -mrecip                               [disabled]
  -mrecip=                   
  -mrecord-mcount                       [disabled]
  -mrecord-return                       [disabled]
  -mred-zone                            [enabled]
  -mregparm=                            6
  -mrelax-cmpxchg-loop                  [disabled]
  -mrtd                                 [disabled]
  -mrtm                                 [disabled]
  -msahf                                [enabled]
  -mserialize                           [disabled]
  -msgx                                 [disabled]
  -msha                                 [enabled]
  -mshstk                               [enabled]
  -mskip-rax-setup                      [disabled]
  -msoft-float                          [disabled]
  -msse                                 [enabled]
  -msse2                                [enabled]
  -msse2avx                             [disabled]
  -msse3                                [enabled]
  -msse4                                [enabled]
  -msse4.1                              [enabled]
  -msse4.2                              [enabled]
  -msse4a                               [enabled]
  -msse5                                -mavx
  -msseregparm                          [disabled]
  -mssse3                               [enabled]
  -mstack-arg-probe                     [disabled]
  -mstack-protector-guard-offset=
  -mstack-protector-guard-reg=
  -mstack-protector-guard-symbol=
  -mstack-protector-guard=              tls
  -mstackrealign                        [disabled]
  -mstore-max=                          128
  -mstringop-strategy=                  [default]
  -mstv                                 [enabled]
  -mtbm                                 [disabled]
  -mtls-dialect=                        gnu
  -mtls-direct-seg-refs                 [enabled]
  -mtsxldtrk                            [disabled]
  -mtune-ctrl=               
  -mtune=                               znver3
  -muclibc                              [disabled]
  -muintr                               [disabled]
  -mvaes                                [enabled]
  -mveclibabi=                          [default]
  -mvect8-ret-in-mem                    [disabled]
  -mvpclmulqdq                          [enabled]
  -mvzeroupper                          [enabled]
  -mwaitpkg                             [disabled]
  -mwbnoinvd                            [enabled]
  -mwidekl                              [disabled]
  -mx32                                 [disabled]
  -mxop                                 [disabled]
  -mxsave                               [enabled]
  -mxsavec                              [enabled]
  -mxsaveopt                            [enabled]
  -mxsaves                              [enabled]

  Known assembler dialects (for use with the -masm= option):
    att intel

  Known ABIs (for use with the -mabi= option):
    ms sysv

  Known code models (for use with the -mcmodel= option):
    32 kernel large medium small

  Valid arguments to -mfpmath=:
    387 387+sse 387,sse both sse sse+387 sse,387

  Known choices for mitigation against straight line speculation with -mharden-sls=:
    all indirect-jmp none return

  Known indirect branch choices (for use with the -mindirect-branch=/-mfunction-return= options):
    keep thunk thunk-extern thunk-inline

  Known choices for return instrumentation with -minstrument-return=:
    call none nop5

  Known data alignment choices (for use with the -malign-data= option):
    abi cacheline compat

  Known vectorization library ABIs (for use with the -mveclibabi= option):
    acml svml

  Known address mode (for use with the -maddress-mode= option):
    long short

  Known preferred register vector length (to use with the -mprefer-vector-width= option):
    128 256 512 none

  Known stack protector guard (for use with the -mstack-protector-guard= option):
    global tls

  Valid arguments to -mstringop-strategy=:
    byte_loop libcall loop rep_4byte rep_8byte rep_byte unrolled_loop
    vector_loop

  Known TLS dialects (for use with the -mtls-dialect= option):
    gnu gnu2

  Known valid arguments for -march= option:
    i386 i486 i586 pentium lakemont pentium-mmx winchip-c6 winchip2 c3 samuel-2 c3-2 nehemiah c7 esther i686 pentiumpro pentium2 pentium3 pentium3m pentium-m pentium4 pentium4m prescott nocona core2 nehalem corei7 westmere sandybridge corei7-avx ivybridge core-avx-i haswell core-avx2 broadwell skylake skylake-avx512 cannonlake icelake-client rocketlake icelake-server cascadelake tigerlake cooperlake sapphirerapids alderlake bonnell atom silvermont slm goldmont goldmont-plus tremont knl knm intel geode k6 k6-2 k6-3 athlon athlon-tbird athlon-4 athlon-xp athlon-mp x86-64 x86-64-v2 x86-64-v3 x86-64-v4 eden-x2 nano nano-1000 nano-2000 nano-3000 nano-x2 eden-x4 nano-x4 k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3 athlon-fx amdfam10 barcelona bdver1 bdver2 bdver3 bdver4 znver1 znver2 znver3 znver4 btver1 btver2 generic native

  Known valid arguments for -mtune= option:
    generic i386 i486 pentium lakemont pentiumpro pentium4 nocona core2 nehalem sandybridge haswell bonnell silvermont goldmont goldmont-plus tremont knl knm skylake skylake-avx512 cannonlake icelake-client icelake-server cascadelake tigerlake cooperlake sapphirerapids alderlake rocketlake intel geode k6 athlon k8 amdfam10 bdver1 bdver2 bdver3 bdver4 btver1 btver2 znver1 znver2 znver3 znver4

GNU C17 (Gentoo 12.3.1_p20230526 p2) version 12.3.1 20230526 (x86_64-pc-linux-gnu)
        compiled by GNU C version 12.3.1 20230526, GMP version 6.2.1, MPFR version 4.2.0-p9, MPC version 1.3.1, isl version none
warning: MPFR header version 4.2.0-p9 differs from library version 4.2.0-p12.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
COLLECT_GCC_OPTIONS='-march=native' '-Q' '--help=target' '-v' '-dumpdir' 'a-'
 /usr/lib/gcc/x86_64-pc-linux-gnu/12/../../../../x86_64-pc-linux-gnu/bin/as -v --64 -o /tmp/cctCMdI1.o /tmp/ccNR7LwK.s
GNU assembler version 2.40.0 (x86_64-pc-linux-gnu) using BFD version (Gentoo 2.40 p5) 2.40.0


Code:
gcc -march=znver3 -Q --help=target -v

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/12/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/work/gcc-12-20230526/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/12 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/12/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/12 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/12/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/12/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12 --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/12/python --enable-languages=c,c++ --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --disable-libunwind-exceptions --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 12.3.1_p20230526 p2' --with-gcc-major-version-only --enable-libstdcxx-time --enable-lto --disable-libstdcxx-pch --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m32,m64 --disable-fixed-point --enable-targets=all --enable-libgomp --disable-libssp --disable-libada --disable-cet --disable-systemtap --disable-valgrind-annotations --disable-vtable-verify --disable-libvtv --without-zstd --without-isl --enable-default-pie --enable-default-ssp
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 12.3.1 20230526 (Gentoo 12.3.1_p20230526 p2)
COLLECT_GCC_OPTIONS='-march=znver3' '-Q' '--help=target' '-v' '-dumpdir' 'a-'
 /usr/libexec/gcc/x86_64-pc-linux-gnu/12/cc1 -v help-dummy -dumpdir a- -dumpbase help-dummy -march=znver3 -version --help=target -o /tmp/ccWI0zQs.s
The following options are target specific:
  -m128bit-long-double                  [enabled]
  -m16                                  [disabled]
  -m32                                  [disabled]
  -m3dnow                               [disabled]
  -m3dnowa                              [disabled]
  -m64                                  [enabled]
  -m80387                               [enabled]
  -m8bit-idiv                           [disabled]
  -m96bit-long-double                   [disabled]
  -mabi=                                sysv
  -mabm                                 [enabled]
  -maccumulate-outgoing-args            [disabled]
  -maddress-mode=                       long
  -madx                                 [enabled]
  -maes                                 [enabled]
  -malign-data=                         compat
  -malign-double                        [disabled]
  -malign-functions=                    0
  -malign-jumps=                        0
  -malign-loops=                        0
  -malign-stringops                     [enabled]
  -mamx-bf16                            [disabled]
  -mamx-int8                            [disabled]
  -mamx-tile                            [disabled]
  -mandroid                             [disabled]
  -march=                               znver3
  -masm=                                att
  -mavx                                 [enabled]
  -mavx2                                [enabled]
  -mavx256-split-unaligned-load         [disabled]
  -mavx256-split-unaligned-store        [disabled]
  -mavx5124fmaps                        [disabled]
  -mavx5124vnniw                        [disabled]
  -mavx512bf16                          [disabled]
  -mavx512bitalg                        [disabled]
  -mavx512bw                            [disabled]
  -mavx512cd                            [disabled]
  -mavx512dq                            [disabled]
  -mavx512er                            [disabled]
  -mavx512f                             [disabled]
  -mavx512fp16                          [disabled]
  -mavx512ifma                          [disabled]
  -mavx512pf                            [disabled]
  -mavx512vbmi                          [disabled]
  -mavx512vbmi2                         [disabled]
  -mavx512vl                            [disabled]
  -mavx512vnni                          [disabled]
  -mavx512vp2intersect                  [disabled]
  -mavx512vpopcntdq                     [disabled]
  -mavxvnni                             [disabled]
  -mbionic                              [disabled]
  -mbmi                                 [enabled]
  -mbmi2                                [enabled]
  -mbranch-cost=<0,5>                   3
  -mcall-ms2sysv-xlogues                [disabled]
  -mcet-switch                          [disabled]
  -mcld                                 [disabled]
  -mcldemote                            [disabled]
  -mclflushopt                          [enabled]
  -mclwb                                [enabled]
  -mclzero                              [enabled]
  -mcmodel=                             [default]
  -mcpu=                     
  -mcrc32                               [enabled]
  -mcx16                                [enabled]
  -mdaz-ftz                             [disabled]
  -mdirect-extern-access                [enabled]
  -mdispatch-scheduler                  [disabled]
  -mdump-tune-features                  [disabled]
  -menqcmd                              [disabled]
  -mf16c                                [enabled]
  -mfancy-math-387                      [enabled]
  -mfentry                              [disabled]
  -mfentry-name=             
  -mfentry-section=           
  -mfma                                 [enabled]
  -mfma4                                [disabled]
  -mforce-drap                          [disabled]
  -mforce-indirect-call                 [disabled]
  -mfp-ret-in-387                       [enabled]
  -mfpmath=                             sse
  -mfsgsbase                            [enabled]
  -mfunction-return=                    keep
  -mfused-madd                          -ffp-contract=fast
  -mfxsr                                [enabled]
  -mgeneral-regs-only                   [disabled]
  -mgfni                                [disabled]
  -mglibc                               [enabled]
  -mhard-float                          [enabled]
  -mharden-sls=                         none
  -mhle                                 [disabled]
  -mhreset                              [disabled]
  -miamcu                               [disabled]
  -mieee-fp                             [enabled]
  -mincoming-stack-boundary=            0
  -mindirect-branch-cs-prefix           [disabled]
  -mindirect-branch-register            [disabled]
  -mindirect-branch=                    keep
  -minline-all-stringops                [disabled]
  -minline-stringops-dynamically        [disabled]
  -minstrument-return=                  none
  -mintel-syntax                        -masm=intel
  -mkl                                  [disabled]
  -mlarge-data-threshold=<number>       65536
  -mlong-double-128                     [disabled]
  -mlong-double-64                      [disabled]
  -mlong-double-80                      [enabled]
  -mlwp                                 [disabled]
  -mlzcnt                               [enabled]
  -mmanual-endbr                        [disabled]
  -mmemcpy-strategy=         
  -mmemset-strategy=         
  -mmitigate-rop                        [disabled]
  -mmmx                                 [enabled]
  -mmovbe                               [enabled]
  -mmovdir64b                           [disabled]
  -mmovdiri                             [disabled]
  -mmove-max=                           128
  -mmpx                                 [disabled]
  -mms-bitfields                        [disabled]
  -mmusl                                [disabled]
  -mmwait                               [enabled]
  -mmwaitx                              [enabled]
  -mneeded                              [disabled]
  -mno-align-stringops                  [disabled]
  -mno-default                          [disabled]
  -mno-fancy-math-387                   [disabled]
  -mno-push-args                        [disabled]
  -mno-red-zone                         [disabled]
  -mno-sse4                             [disabled]
  -mnop-mcount                          [disabled]
  -momit-leaf-frame-pointer             [disabled]
  -mpc32                                [disabled]
  -mpc64                                [disabled]
  -mpc80                                [disabled]
  -mpclmul                              [enabled]
  -mpcommit                             [disabled]
  -mpconfig                             [disabled]
  -mpku                                 [enabled]
  -mpopcnt                              [enabled]
  -mprefer-avx128                       -mprefer-vector-width=128
  -mprefer-vector-width=                none
  -mpreferred-stack-boundary=           0
  -mprefetchwt1                         [disabled]
  -mprfchw                              [enabled]
  -mptwrite                             [disabled]
  -mpush-args                           [enabled]
  -mrdpid                               [enabled]
  -mrdrnd                               [enabled]
  -mrdseed                              [enabled]
  -mrecip                               [disabled]
  -mrecip=                   
  -mrecord-mcount                       [disabled]
  -mrecord-return                       [disabled]
  -mred-zone                            [enabled]
  -mregparm=                            6
  -mrelax-cmpxchg-loop                  [disabled]
  -mrtd                                 [disabled]
  -mrtm                                 [disabled]
  -msahf                                [enabled]
  -mserialize                           [disabled]
  -msgx                                 [disabled]
  -msha                                 [enabled]
  -mshstk                               [disabled]
  -mskip-rax-setup                      [disabled]
  -msoft-float                          [disabled]
  -msse                                 [enabled]
  -msse2                                [enabled]
  -msse2avx                             [disabled]
  -msse3                                [enabled]
  -msse4                                [enabled]
  -msse4.1                              [enabled]
  -msse4.2                              [enabled]
  -msse4a                               [enabled]
  -msse5                                -mavx
  -msseregparm                          [disabled]
  -mssse3                               [enabled]
  -mstack-arg-probe                     [disabled]
  -mstack-protector-guard-offset=
  -mstack-protector-guard-reg=
  -mstack-protector-guard-symbol=
  -mstack-protector-guard=              tls
  -mstackrealign                        [disabled]
  -mstore-max=                          128
  -mstringop-strategy=                  [default]
  -mstv                                 [enabled]
  -mtbm                                 [disabled]
  -mtls-dialect=                        gnu
  -mtls-direct-seg-refs                 [enabled]
  -mtsxldtrk                            [disabled]
  -mtune-ctrl=               
  -mtune=                               znver3
  -muclibc                              [disabled]
  -muintr                               [disabled]
  -mvaes                                [enabled]
  -mveclibabi=                          [default]
  -mvect8-ret-in-mem                    [disabled]
  -mvpclmulqdq                          [enabled]
  -mvzeroupper                          [enabled]
  -mwaitpkg                             [disabled]
  -mwbnoinvd                            [enabled]
  -mwidekl                              [disabled]
  -mx32                                 [disabled]
  -mxop                                 [disabled]
  -mxsave                               [enabled]
  -mxsavec                              [enabled]
  -mxsaveopt                            [enabled]
  -mxsaves                              [enabled]

  Known assembler dialects (for use with the -masm= option):
    att intel

  Known ABIs (for use with the -mabi= option):
    ms sysv

  Known code models (for use with the -mcmodel= option):
    32 kernel large medium small

  Valid arguments to -mfpmath=:
    387 387+sse 387,sse both sse sse+387 sse,387

  Known choices for mitigation against straight line speculation with -mharden-sls=:
    all indirect-jmp none return

  Known indirect branch choices (for use with the -mindirect-branch=/-mfunction-return= options):
    keep thunk thunk-extern thunk-inline

  Known choices for return instrumentation with -minstrument-return=:
    call none nop5

  Known data alignment choices (for use with the -malign-data= option):
    abi cacheline compat

  Known vectorization library ABIs (for use with the -mveclibabi= option):
    acml svml

  Known address mode (for use with the -maddress-mode= option):
    long short

  Known preferred register vector length (to use with the -mprefer-vector-width= option):
    128 256 512 none

  Known stack protector guard (for use with the -mstack-protector-guard= option):
    global tls

  Valid arguments to -mstringop-strategy=:
    byte_loop libcall loop rep_4byte rep_8byte rep_byte unrolled_loop
    vector_loop

  Known TLS dialects (for use with the -mtls-dialect= option):
    gnu gnu2

  Known valid arguments for -march= option:
    i386 i486 i586 pentium lakemont pentium-mmx winchip-c6 winchip2 c3 samuel-2 c3-2 nehemiah c7 esther i686 pentiumpro pentium2 pentium3 pentium3m pentium-m pentium4 pentium4m prescott nocona core2 nehalem corei7 westmere sandybridge corei7-avx ivybridge core-avx-i haswell core-avx2 broadwell skylake skylake-avx512 cannonlake icelake-client rocketlake icelake-server cascadelake tigerlake cooperlake sapphirerapids alderlake bonnell atom silvermont slm goldmont goldmont-plus tremont knl knm intel geode k6 k6-2 k6-3 athlon athlon-tbird athlon-4 athlon-xp athlon-mp x86-64 x86-64-v2 x86-64-v3 x86-64-v4 eden-x2 nano nano-1000 nano-2000 nano-3000 nano-x2 eden-x4 nano-x4 k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3 athlon-fx amdfam10 barcelona bdver1 bdver2 bdver3 bdver4 znver1 znver2 znver3 znver4 btver1 btver2 generic native

  Known valid arguments for -mtune= option:
    generic i386 i486 pentium lakemont pentiumpro pentium4 nocona core2 nehalem sandybridge haswell bonnell silvermont goldmont goldmont-plus tremont knl knm skylake skylake-avx512 cannonlake icelake-client icelake-server cascadelake tigerlake cooperlake sapphirerapids alderlake rocketlake intel geode k6 athlon k8 amdfam10 bdver1 bdver2 bdver3 bdver4 btver1 btver2 znver1 znver2 znver3 znver4

GNU C17 (Gentoo 12.3.1_p20230526 p2) version 12.3.1 20230526 (x86_64-pc-linux-gnu)
        compiled by GNU C version 12.3.1 20230526, GMP version 6.2.1, MPFR version 4.2.0-p9, MPC version 1.3.1, isl version none
warning: MPFR header version 4.2.0-p9 differs from library version 4.2.0-p12.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
COLLECT_GCC_OPTIONS='-march=znver3' '-Q' '--help=target' '-v' '-dumpdir' 'a-'
 /usr/lib/gcc/x86_64-pc-linux-gnu/12/../../../../x86_64-pc-linux-gnu/bin/as -v --64 -o /tmp/ccizCubn.o /tmp/ccWI0zQs.s
GNU assembler version 2.40.0 (x86_64-pc-linux-gnu) using BFD version (Gentoo 2.40 p5) 2.40.0


Soweit ich sehe ist hier auch der einzige Unterschied "-mshstk [disabled]" bei znver3
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 11:51 am    Post subject: Reply with quote

lazydog wrote:
Soweit ich sehe ist hier auch der einzige Unterschied "-mshstk [disabled]" bei znver3


Jap, auch nur shstk wie bei mir. Dann war wohl das Problem, dass dein clang einfach absolut gar nicht optimiert war. Wobei das schon ein sehr krasser Unterschied ist, den ich so nicht erwartet hätte.
Back to top
View user's profile Send private message
lazydog
n00b
n00b


Joined: 26 Feb 2007
Posts: 64

PostPosted: Thu Aug 03, 2023 12:11 pm    Post subject: Reply with quote

clang (und der Rest) war ja mit znver3 gebaut. Erst mit march=native war die Zeit für firefox dann bei rund 15 Minuten.

D.h. es gibt wohl doch einen Unterschied zwischen 5800X3D und den anderen Zen3-Varianten? Dachte immer der einzige Unterschied sei der größere L3-Cache (und etwas geringerer Takt im Vgl. zum 5800X).

Ich finde via google nur so idiotische Seiten wie "versus.com" und "cpumonkey" - keine richtigen specs. Oder macht AMD da ein Geheimnis draus? Oder ein Bug im gcc? Fragen über Fragen.. :roll:

Also emerge --sync und emerge --quiet -u --changed-use --deep @world sind erstmal ohne Probleme durch und mit normalen Zeiten, soweit alles gut. Tausend Danke an alle! Eigentlich müsste ich euch jedem ein Bier ausgeben :D

Trotzdem seltsam mit den Optimierungen...
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5191

PostPosted: Thu Aug 03, 2023 12:14 pm    Post subject: Reply with quote

kolibri wrote:
lazydog wrote:
Soweit ich sehe ist hier auch der einzige Unterschied "-mshstk [disabled]" bei znver3


Jap, auch nur shstk wie bei mir. Dann war wohl das Problem, dass dein clang einfach absolut gar nicht optimiert war. Wobei das schon ein sehr krasser Unterschied ist, den ich so nicht erwartet hätte.

Stimmt nicht ganz den laut dem hier:

lazydog wrote:
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...

hat auch mit march=znver3 keine so massive verbesserung ergeben wie mit march=native.
Das wirkt so jetzt auf mich als ob für seine CPU durch explizite angabe von znver3 suboptimalen code erzeugt wird.
Oder hast du @lazydog zu diesem zeitpunkt nur clang mit korrekten CXXFLAGS neu übersetzt?
Wenn ja dann ist es auch kein wunder das es kaum Verbesserung gab. Denn clang ist nur ein frontend für llvm und wenn llvm nicht optimiert übersetzt wurde, dann hilft ein optimierter build von clang so gut wie gar nichts.

Für den gegen test baue bitte llvm 15 und clang 15 mit march=znver3 und lass dann firefox mit clang bauen
_________________
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: Fri Aug 04, 2023 10:09 am    Post subject: Reply with quote

Jetzt aber.

llvm-15.0.7-r3 und clang-15.0.7-r3 beide mit znver3 gebaut.

Code:
www-client/firefox-102.14.0
       merge time: 14 minutes and 37 seconds.


Da war mir davor scheinbar durch die Lappen gegangen, daß zwar llvm-16.0.6 (und clang) mit den richtigen Flags gebaut war, 15.0.7 aber *nicht*.

Was ne Geburt...

Sollte ich jetzt auch gcc und rust mit znver3 neu bauen oder es einfach so lassen? Oder lieber alles wieder auf native?
Back to top
View user's profile Send private message
kolibri
n00b
n00b


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

PostPosted: Fri Aug 04, 2023 10:12 am    Post subject: Reply with quote

gcc und rust werden in den nächsten Wochen durch neue Versionen sowieso neu gebaut, und aktuell waren die ja nicht unperformant, also ist da kein akuter Bedarf zum Neukompilieren.
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5191

PostPosted: Fri Aug 04, 2023 10:30 am    Post subject: Reply with quote

lazydog wrote:
Sollte ich jetzt auch gcc und rust mit znver3 neu bauen oder es einfach so lassen? Oder lieber alles wieder auf native?

In deinem falle ist znver3 und native identisch. Die Nutzung von native hätte nur den vorteil, wenn du jemals z.b. auf eine zen4 oder neuer CPU aktualisierst, dass du dann deine Compiler flags nicht anpassen musst, wenn der compiler speziellen support für diese cpu bekommt.
Ansonsten ist es deine Entscheidung ob du bei znver3 bleibst oder auf native wechselst. Wobei hier keinerlei Pakete neu gebaut werden müssen falls du dich entscheidest auf native umzustellen
_________________
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: Sat Aug 05, 2023 8:42 am    Post subject: Reply with quote

Prima, dann lass ich erstmal alles so. Bis Zen4 bei mir ins Büro kommt wird hoffentlich noch viel Zeit vergehen.
Back to top
View user's profile Send private message
Erdie
Advocate
Advocate


Joined: 20 May 2004
Posts: 2576
Location: Heidelberg - Germany

PostPosted: Fri Aug 11, 2023 12:56 pm    Post subject: Reply with quote

ManfredB wrote:
Hallo arfe!
Das weiß ich doch.

Aber gibt es irgendwelche Qualitätsunterschiede zwischen firefox unf firefox-bin?
Oder sind beide Pakete auf dem gleichen Level?


Ich würde es nicht Qualitätsunterschiede nennen. Aber eine binäres Paket kann ja nur mit generischen CPU flags kompiliert werde, es wird kein speziellen Optimierungen enthalten, sonst wäre es nicht zu allen Architekturen kompatibel Ausserdem hast du keine Möglichkeit, etwas über USE Flags zu steuern, die Einfluß auf den Kompilierprozess haben. Du bist weniger flexibel bei der Nutzung eines Binärpaketes. Meistens funktionieren die aber schon sehr gut.
Man kann zusammenfassen, dass Du mit Binärpaketen auf die speziellen Vorteile eines Gentoo Systems verzichtest. Der Vorteil ist offensichtlich die bedeutend kürzere Installationszeit bie großen Paketen.
_________________
Desktop AMD Ryzen 9 5900X 32GB RAM, Asus GF GTX 1060.
Notebook Tuxedo Pulse 15 Gen1 AMD Ryzen 7 4800H mit Radeon Vega 7
Raspberry Pi 1 + 2 + 3B+ + Zero W
Back to top
View user's profile Send private message
Erdie
Advocate
Advocate


Joined: 20 May 2004
Posts: 2576
Location: Heidelberg - Germany

PostPosted: Sat Aug 12, 2023 11:51 am    Post subject: Reply with quote

BTW:
Ich habe es mal gemessen und ich brauche für firefox auf Ryzen 9 5900X mit 32Gig RAM:

real 10m44,105s
user 183m2,227s
sys 5m12,915s

Aufgrund dieses Threads habe ich mir mal die Ryzen Doku angeguckt und entdeckt, dass man mit dem experimental USE flag in den gentoo-sources weitere Architekturen angeboten bekommt u. a. auch Zen3. Das habe ich jetzt mal ausprobiert. Gibt es dazu Erfahrungen? Insbesondere negative Erfahrungen wären interessant, denn ich möchte mir damit keine Instabilitäten einhandeln. Bringt das irgendwas im signifikanten Ausmaß?
_________________
Desktop AMD Ryzen 9 5900X 32GB RAM, Asus GF GTX 1060.
Notebook Tuxedo Pulse 15 Gen1 AMD Ryzen 7 4800H mit Radeon Vega 7
Raspberry Pi 1 + 2 + 3B+ + Zero W
Back to top
View user's profile Send private message
lazydog
n00b
n00b


Joined: 26 Feb 2007
Posts: 64

PostPosted: Sun Aug 13, 2023 8:34 am    Post subject: Reply with quote

Ich kenne das USE-Flag habe es aber nicht gesetzt, da ich seit jeher überall wo "experimental" drauf steht die Finger weg lasse ^^

Soweit ich das verstehe betreffen die Optimierungen nur den Kernel-Code selbst, ob das große Auswirkungen hat kann ich nicht sagen.

Teste es dochmal selbst, z.B. Geekbench mit und ohne optimiertem Kernel ob sich da signifikante Unterschiede ergeben (ich wette, dass nicht :) )
Back to top
View user's profile Send private message
Erdie
Advocate
Advocate


Joined: 20 May 2004
Posts: 2576
Location: Heidelberg - Germany

PostPosted: Sun Aug 13, 2023 12:26 pm    Post subject: Reply with quote

Firefox Kompilierzeiten:

6.1.38 ohne Zen3:

real 10m42,535s
user 182m36,604s
sys 5m9,470s

6.1.41 mit Zen3

real 10m40,736s
user 182m55,383s
sys 5m9,765s

In beiden Fällen mit "-j20". Das ist jetzt fast identisch

Jetzt versuch ich es mal mit Geekbench:


6.1.41 mit Zen3:
Single core: 2221 Multi core: 11310


6.1.38 ohne Zen3:
Single core: 2226 Multi core: 11411

6.1.41 zurückgebaut ohne Zen3:
Single core: 2189 Multi core: 11294


Abgesehen von der Unsicherheit, dass die Kernel Versionen nicht gleich sind, ist die Version ohne Zen3 Option schneller als die mit Zen3
_________________
Desktop AMD Ryzen 9 5900X 32GB RAM, Asus GF GTX 1060.
Notebook Tuxedo Pulse 15 Gen1 AMD Ryzen 7 4800H mit Radeon Vega 7
Raspberry Pi 1 + 2 + 3B+ + Zero W
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5191

PostPosted: Sun Aug 13, 2023 2:16 pm    Post subject: Reply with quote

Erdie wrote:

Jetzt versuch ich es mal mit Geekbench:


6.1.41 mit Zen3:
Single core: 2221 Multi core: 11310


6.1.38 ohne Zen3:
Single core: 2226 Multi core: 11411

6.1.41 zurückgebaut ohne Zen3:
Single core: 2189 Multi core: 11294


Abgesehen von der Unsicherheit, dass die Kernel Versionen nicht gleich sind, ist die Version ohne Zen3 Option schneller als die mit Zen3

Naja eher fallen die unterschiede in die Kategorie messungenauigkeit.
Um aussagekräftigere Werte zu bekommen müsstest die Tests mehrmals durchlaufen lassen (z.b. 10 Mal) und aus den ergebnissen einen mittelwert bilden.
Wobei AFAIK man dabei zusätzlich den "besten" und den "schlechtesten" Wert entfernen sollte, da solche Werte eher sporadische Aussreiser sind und dadurch keine aussagekraft haben.

Aber dass die CPU spezifischen Optimierungen im Kernel überhaupt einen großen Einfluss auf einen Anwendungsfall haben können, müsste dieser Anwendungsfall in seinem "hot path" (der sehr oft pro sekunde durchlaufen wird) viel "zeit" in kernel code verbringen (z.b. sehr viele syscalls aufrufen)
_________________
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
Erdie
Advocate
Advocate


Joined: 20 May 2004
Posts: 2576
Location: Heidelberg - Germany

PostPosted: Sun Aug 13, 2023 7:00 pm    Post subject: Reply with quote

Sieht aber trotzdem eher marginal aus. Ich lass das jetzt erstmal mit "experimental" bevor ich mir damit noch irgendwelchen Stress einhandle.
_________________
Desktop AMD Ryzen 9 5900X 32GB RAM, Asus GF GTX 1060.
Notebook Tuxedo Pulse 15 Gen1 AMD Ryzen 7 4800H mit Radeon Vega 7
Raspberry Pi 1 + 2 + 3B+ + Zero W
Back to top
View user's profile Send private message
kolibri
n00b
n00b


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

PostPosted: Tue Aug 15, 2023 9:02 am    Post subject: Reply with quote

Bei speziellen Zen3 Optimierungen im Kernel kann ich mir eher vorstellen, dass vielleicht Dateisystemtreiber oder so minimal optimierter laufen könnten. Die Crypto-Funktionen im Kernel sind ja meist eh schon mit Inline-Assembler gebaut.

Also wenn es einen messbaren Unterschied gibt, dann nur in sehr cpu-intensiven Bereichen des Kernels, die nicht eh schon optimiert sind. Und da fallen mir spontan keine ein.
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
Page 4 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