View previous topic :: View next topic |
Author |
Message |
RIA77 Guru
Joined: 24 Feb 2016 Posts: 346
|
Posted: Tue Apr 13, 2021 11:06 am Post subject: |
|
|
I had no any problems with rust-bin.
And I can use appimage of Chromium |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54300 Location: 56N 3W
|
Posted: Tue Apr 13, 2021 11:12 am Post subject: |
|
|
RIA77,
Most of the big packages have binaries available for the popular arches. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
RIA77 Guru
Joined: 24 Feb 2016 Posts: 346
|
Posted: Tue Apr 13, 2021 12:31 pm Post subject: |
|
|
No bin for gcc |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54300 Location: 56N 3W
|
Posted: Tue Apr 13, 2021 2:35 pm Post subject: |
|
|
RIA77,
Correct. You can't even use distcc to help with gcc. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
eccerr0r Watchman
Joined: 01 Jul 2004 Posts: 9690 Location: almost Mile High in the USA
|
Posted: Tue Apr 13, 2021 11:14 pm Post subject: |
|
|
gfortran and stage 1 gcc technically could be built with distcc... which throws a wrench in the mix as to how to best select MAKEOPTS ... _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
|
freke l33t
Joined: 23 Jan 2003 Posts: 978 Location: Somewhere in Denmark
|
Posted: Wed Apr 14, 2021 2:10 pm Post subject: |
|
|
Code: | binhost ~ # emerge -va1 sys-devel/gcc
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R ~] sys-devel/gcc-10.3.0:10::gentoo USE="(cxx) graphite hardened lto nls nptl openmp pgo (pie) sanitize (ssp) (-ada) -d -debug -doc (-fixed-point) -fortran -go -jit (-libssp) (-multilib) -objc -objc++ -objc-gc (-pch) -systemtap -test -vanilla -vtv -zstd" 0 KiB |
Code: | binhost ~ # genlop -i sys-devel/gcc-10.3.0
* sys-devel/gcc
Total builds: 2
Global build time: 1 day, 17 hours, 52 minutes and 58 seconds.
Average merge time: 20 hours, 56 minutes and 29 seconds.
Info about currently installed ebuild:
* sys-devel/gcc-10.3.0
Install date: Sun Apr 11 13:05:11 2021
USE=""
CFLAGS="-pipe -march=btver2 -mtune=btver2 -O2" CXXFLAGS="-pipe -march=btver2 -mtune=btver2 -O2" LDFLAGS="-Wl,-O1 -Wl,--as-needed -pipe -march=btver2 -mtune=btver2" | Good thing I have 6 identical of these (PCEngines APU2D4) so I can just distribute the binpkg to the other 5..... |
|
Back to top |
|
|
eccerr0r Watchman
Joined: 01 Jul 2004 Posts: 9690 Location: almost Mile High in the USA
|
Posted: Wed Apr 14, 2021 4:42 pm Post subject: |
|
|
Odd, i'd think the apu2d4 shouldn't be that much slower than my atom, probably swap storming? Running 64-bit?
My single core atom 1.6GHz 2GB (32 bit) is clearing sys-devel/gcc (with gfortran but without objective c) in just under 13 hours, even with tmpfs over the 100Mbit network... _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
|
freke l33t
Joined: 23 Jan 2003 Posts: 978 Location: Somewhere in Denmark
|
Posted: Wed Apr 14, 2021 7:09 pm Post subject: |
|
|
eccerr0r wrote: | Odd, i'd think the apu2d4 shouldn't be that much slower than my atom, probably swap storming? Running 64-bit?
My single core atom 1.6GHz 2GB (32 bit) is clearing sys-devel/gcc (with gfortran but without objective c) in just under 13 hours, even with tmpfs over the 100Mbit network... |
64bit yes - haven't tried tmpfs over network (interesting, how?)
I believe times went up around when I started playing with lto or maybe enabling pgo or both (sometime during 9.1)?
Code: | 2017-06-17T20:24:29 >>> sys-devel/gcc-7.1.0-r1: 4 hours, 9 minutes, 39 seconds
2017-06-18T01:39:13 >>> sys-devel/gcc-7.1.0-r1: 4 hours, 12 minutes, 28 seconds
2017-09-14T08:06:43 >>> sys-devel/gcc-7.1.0-r1: 4 hours, 3 minutes, 30 seconds
2017-09-14T16:03:53 >>> sys-devel/gcc-7.2.0: 4 hours, 1 minute, 44 seconds
2017-09-14T23:00:23 >>> sys-devel/gcc-7.2.0: 4 hours, 2 minutes, 43 seconds
2018-03-22T16:45:31 >>> sys-devel/gcc-7.3.0-r1: 4 hours, 11 minutes, 51 seconds
2018-03-24T00:09:41 >>> sys-devel/gcc-7.3.0-r1: 3 hours, 41 minutes, 10 seconds
2018-03-24T09:49:29 >>> sys-devel/gcc-7.3.0-r1: 4 hours, 10 minutes, 50 seconds
2018-04-04T21:03:47 >>> sys-devel/gcc-7.3.0-r1: 4 hours, 15 minutes, 5 seconds
2018-04-17T23:27:45 >>> sys-devel/gcc-7.3.0-r2: 4 hours, 15 minutes, 1 second
2018-05-03T18:38:45 >>> sys-devel/gcc-7.3.0-r2: 4 hours, 18 minutes, 48 seconds
2018-05-04T06:50:52 >>> sys-devel/gcc-8.1.0: 5 hours, 40 minutes, 58 seconds
2018-05-04T16:05:26 >>> sys-devel/gcc-8.1.0-r1: 4 hours, 52 minutes, 5 seconds
2018-05-07T18:48:08 >>> sys-devel/gcc-8.1.0-r2: 4 hours, 43 minutes, 8 seconds
2018-05-17T16:59:02 >>> sys-devel/gcc-8.1.0-r3: 4 hours, 42 minutes, 21 seconds
2018-07-01T20:51:22 >>> sys-devel/gcc-8.1.0-r3: 4 hours, 45 minutes, 46 seconds
2018-08-03T21:43:43 >>> sys-devel/gcc-8.2.0: 4 hours, 47 minutes, 12 seconds
2018-08-04T12:04:20 >>> sys-devel/gcc-8.2.0: 4 hours, 47 minutes, 59 seconds
2018-08-16T18:34:08 >>> sys-devel/gcc-8.2.0-r2: 4 hours, 47 minutes, 26 seconds
2018-10-10T17:36:57 >>> sys-devel/gcc-8.2.0-r3: 4 hours, 46 minutes, 6 seconds
2018-10-31T14:34:31 >>> sys-devel/gcc-8.2.0-r3: 4 hours, 35 minutes, 19 seconds
2018-11-06T18:03:47 >>> sys-devel/gcc-8.2.0-r4: 4 hours, 45 minutes, 40 seconds
2018-11-07T09:31:04 >>> sys-devel/gcc-8.2.0-r4: 4 hours, 45 minutes, 39 seconds
2018-12-20T23:26:37 >>> sys-devel/gcc-8.2.0-r5: 4 hours, 52 minutes, 22 seconds
2019-01-05T15:08:46 >>> sys-devel/gcc-8.2.0-r6: 4 hours, 45 minutes, 50 seconds
2019-02-25T15:39:08 >>> sys-devel/gcc-8.3.0: 4 hours, 45 minutes, 33 seconds
2019-03-16T22:07:28 >>> sys-devel/gcc-8.3.0: 4 hours, 50 minutes, 22 seconds
2019-05-07T18:23:05 >>> sys-devel/gcc-8.3.0-r1: 5 hours, 5 minutes, 24 seconds
2019-05-10T23:50:18 >>> sys-devel/gcc-9.1.0: 6 hours, 4 minutes, 57 seconds
2019-05-11T13:12:07 >>> sys-devel/gcc-9.1.0: 5 hours, 59 minutes, 7 seconds
2019-05-15T16:59:19 >>> sys-devel/gcc-9.1.0: 8 hours, 30 minutes, 21 seconds
2019-06-17T18:06:35 >>> sys-devel/gcc-9.1.0-r1: 8 hours, 28 minutes, 55 seconds
2019-06-21T00:53:20 >>> sys-devel/gcc-9.1.0-r1: 16 hours, 33 minutes, 50 seconds
2019-07-07T17:48:23 >>> sys-devel/gcc-9.1.0-r1: 16 hours, 17 minutes, 20 seconds
2019-09-06T23:20:20 >>> sys-devel/gcc-9.2.0: 16 hours, 31 minutes, 27 seconds
2020-02-14T18:56:47 >>> sys-devel/gcc-9.2.0-r3: 16 hours, 51 minutes, 42 seconds
2020-02-17T00:17:08 >>> sys-devel/gcc-9.2.0-r4: 17 hours, 29 minutes, 35 seconds
2020-03-20T14:44:58 >>> sys-devel/gcc-9.3.0: 17 hours, 9 minutes, 30 seconds
2020-03-21T14:20:45 >>> sys-devel/gcc-9.3.0: 17 hours, 7 minutes, 40 seconds
2020-05-10T08:55:21 >>> sys-devel/gcc-10.1.0: 19 hours, 47 minutes, 34 seconds
2020-05-17T21:36:48 >>> sys-devel/gcc-10.1.0: 20 hours, 1 minute, 9 seconds
2020-06-13T01:39:24 >>> sys-devel/gcc-10.1.0-r1: 20 hours, 21 minutes, 45 seconds
2020-07-05T17:24:19 >>> sys-devel/gcc-10.1.0-r2: 20 hours, 29 minutes, 6 seconds
2020-08-04T20:06:09 >>> sys-devel/gcc-10.2.0: 20 hours, 33 minutes, 43 seconds
2020-08-05T17:24:50 >>> sys-devel/gcc-10.2.0: 19 hours, 44 minutes, 51 seconds
2020-08-30T21:00:50 >>> sys-devel/gcc-10.2.0-r1: 20 hours, 32 minutes, 32 seconds
2020-10-04T20:21:29 >>> sys-devel/gcc-10.2.0-r2: 20 hours, 32 minutes, 52 seconds
2020-11-05T22:44:57 >>> sys-devel/gcc-10.2.0-r3: 20 hours, 50 minutes, 38 seconds
2020-12-19T09:33:21 >>> sys-devel/gcc-10.2.0-r4: 20 hours, 54 minutes, 31 seconds
2020-12-21T19:56:48 >>> sys-devel/gcc-10.2.0-r4: 20 hours, 54 minutes, 7 seconds
2020-12-31T09:49:48 >>> sys-devel/gcc-10.2.0-r5: 20 hours, 53 minutes, 35 seconds
2021-02-23T16:12:05 >>> sys-devel/gcc-10.2.0-r5: 20 hours, 42 minutes, 16 seconds
2021-04-09T15:28:36 >>> sys-devel/gcc-10.3.0: 20 hours, 49 minutes, 42 seconds
2021-04-10T16:01:55 >>> sys-devel/gcc-10.3.0: 21 hours, 3 minutes, 16 seconds |
Code: | binhost /var/tmp/notmpfs/portage # emerge --info
Portage 3.0.17 (python 3.8.8-final-0, default/linux/amd64/17.1/no-multilib/hardened, gcc-10.3.0, glibc-2.32-r7, 5.10.29 x86_64)
=================================================================
System uname: Linux-5.10.29-x86_64-AMD_GX-412TC_SOC-with-glibc2.2.5
KiB Mem: 4018164 total, 3771256 free
KiB Swap: 6274644 total, 6274644 free
Timestamp of repository gentoo: Tue, 13 Apr 2021 22:00:01 +0000
Head commit of repository gentoo: 9b20115ac13e04b9dc039ea7ad3abd8fd9b23faa
sh bash 5.0_p18
ld GNU ld (Gentoo 2.35.2 p1) 2.35.2
distcc 3.3.3 x86_64-pc-linux-gnu [enabled]
app-shells/bash: 5.0_p18::gentoo
dev-lang/perl: 5.30.3::gentoo
dev-lang/python: 3.8.8_p1::gentoo, 3.9.2_p1::gentoo
dev-util/cmake: 3.18.5::gentoo
sys-apps/baselayout: 2.7::gentoo
sys-apps/openrc: 0.42.1-r1::gentoo
sys-apps/sandbox: 2.20::gentoo
sys-devel/autoconf: 2.69-r5::gentoo
sys-devel/automake: 1.16.2-r1::gentoo
sys-devel/binutils: 2.35.2::gentoo
sys-devel/gcc: 10.3.0::gentoo
sys-devel/gcc-config: 2.4::gentoo
sys-devel/libtool: 2.4.6-r6::gentoo
sys-devel/make: 4.3::gentoo
sys-kernel/linux-headers: 5.10::gentoo (virtual/os-headers)
sys-libs/glibc: 2.32-r7::gentoo
Repositories:
local
location: /opt/local/portage
masters: gentoo
priority: -1
gentoo
location: /opt/portage
sync-type: rsync
sync-uri: rsync://rsync.gentoo.org/gentoo-portage
priority: 1
sync-rsync-verify-max-age: 24
sync-rsync-verify-jobs: 1
sync-rsync-verify-metamanifest: yes
sync-rsync-extra-opts:
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-fgraphite-identity -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block -flto=4 -fuse-linker-plugin -fno-fat-lto-objects -O2 -pipe -fomit-frame-pointer -march=btver2 -mmmx -msse -msse2 -msse3 -mssse3 -msse4a -mcx16 -msahf -mmovbe -maes -mpclmul -mpopcnt -mabm -mbmi -mavx -msse4.2 -msse4.1 -mlzcnt -mrdrnd -mf16c -mprfchw -mfxsr -mxsave -mxsaveopt --param=l1-cache-size=32 --param=l1-cache-line-size=64 --param=l2-cache-size=2048 -mtune=btver2 -ftree-vectorize"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /var/spool/munin-async/.ssh"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-fgraphite-identity -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block -flto=4 -fuse-linker-plugin -fno-fat-lto-objects -O2 -pipe -fomit-frame-pointer -march=btver2 -mmmx -msse -msse2 -msse3 -mssse3 -msse4a -mcx16 -msahf -mmovbe -maes -mpclmul -mpopcnt -mabm -mbmi -mavx -msse4.2 -msse4.1 -mlzcnt -mrdrnd -mf16c -mprfchw -mfxsr -mxsave -mxsaveopt --param=l1-cache-size=32 --param=l1-cache-line-size=64 --param=l2-cache-size=2048 -mtune=btver2 -ftree-vectorize -flifetime-dse=1"
DISTDIR="/opt/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-fgraphite-identity -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block -flto=4 -fuse-linker-plugin -fno-fat-lto-objects -O2 -pipe -fomit-frame-pointer -march=btver2 -mmmx -msse -msse2 -msse3 -mssse3 -msse4a -mcx16 -msahf -mmovbe -maes -mpclmul -mpopcnt -mabm -mbmi -mavx -msse4.2 -msse4.1 -mlzcnt -mrdrnd -mf16c -mprfchw -mfxsr -mxsave -mxsaveopt --param=l1-cache-size=32 --param=l1-cache-line-size=64 --param=l2-cache-size=2048 -mtune=btver2 -ftree-vectorize"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg config-protect-if-modified distcc distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-fgraphite-identity -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block -flto=4 -fuse-linker-plugin -fno-fat-lto-objects -O2 -pipe -fomit-frame-pointer -march=btver2 -mmmx -msse -msse2 -msse3 -mssse3 -msse4a -mcx16 -msahf -mmovbe -maes -mpclmul -mpopcnt -mabm -mbmi -mavx -msse4.2 -msse4.1 -mlzcnt -mrdrnd -mf16c -mprfchw -mfxsr -mxsave -mxsaveopt --param=l1-cache-size=32 --param=l1-cache-line-size=64 --param=l2-cache-size=2048 -mtune=btver2 -ftree-vectorize"
GENTOO_MIRRORS="http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo http://ftp.halifax.rwth-aachen.de/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://mirror.netcologne.de/gentoo/"
INSTALL_MASK="/etc/systemd /lib/systemd /usr/lib/systemd"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -fgraphite-identity -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block -flto=4 -fuse-linker-plugin -fno-fat-lto-objects -O2 -pipe -fomit-frame-pointer -march=btver2 -mmmx -msse -msse2 -msse3 -mssse3 -msse4a -mcx16 -msahf -mmovbe -maes -mpclmul -mpopcnt -mabm -mbmi -mavx -msse4.2 -msse4.1 -mlzcnt -mrdrnd -mf16c -mprfchw -mfxsr -mxsave -mxsaveopt --param=l1-cache-size=32 --param=l1-cache-line-size=64 --param=l2-cache-size=2048 -mtune=btver2 -ftree-vectorize -flifetime-dse=1"
LINGUAS="da en"
MAKEOPTS="-j16 -l8"
PKGDIR="/opt/bindir"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="acl amd64 berkdb bzip2 caps crypt gd geoip2 gnutls graphite hardened iconv idn ipv6 leaps-timezone libglvnd libtirpc lto ncurses nls nptl openmp pam parse-clocks pcre pgo pie pps readline rsync-verify seccomp sockets split-usr ssl ssp syslog udev unicode usb xattr xml xtpax zlib" ABI_X86="64" ADA_TARGET="gnat_2018" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CPU_FLAGS_X86="aes avx f16c mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" ELIBC="glibc" GPSD_PROTOCOLS="nmea0183" GRUB_PLATFORMS="pc" INPUT_DEVICES="libinput" KERNEL="linux" L10N="da en-US" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_8" PYTHON_TARGETS="python3_8" RUBY_TARGETS="ruby26" USERLAND="GNU"
Unset: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, LC_ALL, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RUSTFLAGS |
|
|
Back to top |
|
|
eccerr0r Watchman
Joined: 01 Jul 2004 Posts: 9690 Location: almost Mile High in the USA
|
Posted: Wed Apr 14, 2021 7:57 pm Post subject: |
|
|
Hmm... I do not USE=pgo so this may also affect things... _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54300 Location: 56N 3W
|
Posted: Wed Apr 14, 2021 8:19 pm Post subject: |
|
|
eccerr0r,
USE=pgo means build gcc, run some tests, then build it again.
That's somewhat simplistic as the stage1 can be skipped for the second build.
If you already have gcc, its possible to tell gcc not to bootstrap but that knob is not exposed as a USE flag.
Its well tested as bootstrapping is not possible when building a cross compiler.
Finding that control is left as an exercise for the reader. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
freke l33t
Joined: 23 Jan 2003 Posts: 978 Location: Somewhere in Denmark
|
|
Back to top |
|
|
flysideways Guru
Joined: 29 Jan 2005 Posts: 437
|
Posted: Thu Apr 15, 2021 12:55 am Post subject: |
|
|
Quote: | genlop -t sys-devel/gcc-10.2.0-r5
* sys-devel/gcc
Tue Dec 29 18:55:08 2020 >>> sys-devel/gcc-10.2.0-r5
merge time: 8 hours, 20 minutes and 12 seconds.
Wed Dec 30 06:55:43 2020 >>> sys-devel/gcc-10.2.0-r5
merge time: 8 hours, 37 minutes and 11 seconds.
Wed Dec 30 20:32:01 2020 >>> sys-devel/gcc-10.2.0-r5
merge time: 8 hours, 27 minutes and 52 seconds.
Sat Jan 2 04:55:01 2021 >>> sys-devel/gcc-10.2.0-r5
merge time: 8 hours, 26 minutes and 3 seconds.
Fri Mar 5 20:03:47 2021 >>> sys-devel/gcc-10.2.0-r5
merge time: 8 hours, 24 minutes and 52 seconds.
|
Pi 4 goodness, using a usb ssd. |
|
Back to top |
|
|
Ionen Developer
Joined: 06 Dec 2018 Posts: 2727
|
Posted: Thu Apr 15, 2021 5:33 am Post subject: |
|
|
freke wrote: | haven't done any benchmarking what-so-ever if enabling pgo is worth it | pgo tend to be one of the more useful optimization, i.e. we're talking bit more human-noticeable changes on complex software. And if going to be using it for a long time (gcc doesn't update that often), pretty sure you'll get back the investment.
I don't bother with USE=pgo for my cross-compilers and alternate for-testing compilers (e.g. gcc11) since I hardly use them. |
|
Back to top |
|
|
user Apprentice
Joined: 08 Feb 2004 Posts: 202
|
Posted: Thu Apr 15, 2021 5:44 pm Post subject: |
|
|
Fortunately gcc ebuild is updated at low frequency.
On AMD Zen2 Renoir 8C/16T@65W (AMD Ryzen 7 PRO 4750G) with zram/tmpfs
a not full-featured gcc compile with pgo use flag (make profiledbootstrap), lto use flag (BUILD_CONFIG=bootstrap-lto) and gold linker (-Wl,-fuse-ld=gold)
Code: | [ebuild R ] sys-devel/gcc-10.2.0-r5:10::gentoo USE="(cxx) fortran graphite hardened lto (multilib) nptl openmp pgo (pie) sanitize (ssp) zstd (-ada) -d -debug -doc (-fixed-point) -go -jit (-libssp) -nls -objc -objc++ -objc-gc (-pch) -systemtap -test -vanilla -vtv" |
will take ~40 minutes.
Code: | # qlop -Hv d 1day gcc | cut -c25-
sys-devel/gcc-10.2.0-r5: 39 minutes, 45 seconds |
Annoying at update frequency and compile time are browsers.
Code: | # qlop -Hvd 1month firefox chromium ungoogled-chromium | cut -c25-
www-client/chromium-89.0.4389.90: 3 hours, 5 minutes, 51 seconds
www-client/ungoogled-chromium-89.0.4389.90-r1: 3 hours, 35 minutes, 46 seconds
www-client/firefox-78.9.0: 47 minutes, 46 seconds |
|
|
Back to top |
|
|
eccerr0r Watchman
Joined: 01 Jul 2004 Posts: 9690 Location: almost Mile High in the USA
|
Posted: Thu Apr 15, 2021 9:45 pm Post subject: |
|
|
hmm... USE=pgo definitely increases build time, but my experiment did not double or even add 50% more build time ...
Unfortunately my build times have been compromised (due to distcc and some cpu juggling as I try to finalize which cpu goes into which board that goes into which task...) but I estimate around 20% increase or so perhaps based on the qlop information from the machine that last completed the build...
(Yeah, swapping a Core2 Quad and a Core2 Duo makes a huge difference in gcc build times...) _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
|
figueroa Advocate
Joined: 14 Aug 2005 Posts: 2965 Location: Edge of marsh USA
|
Posted: Fri Apr 16, 2021 2:21 am Post subject: |
|
|
I'm on stable amd64 desktop profile (openrc) i7-2600 w/16 GB RAM. Would it be sane for me to add "sys-devel/gcc graphite lto pgo zstd" to /etc/portage/package.use? Would this give me payback in a faster system (faster binaries) while being just as stable?
These extra USE flags would give the following flags for gcc.
Code: | $ emerge -pv sys-devel/gcc
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] dev-libs/isl-0.23-r1:0/23::gentoo USE="-static-libs" ABI_X86="(64) -32 (-x32)" 1,690 KiB
[ebuild R ] sys-devel/gcc-10.2.0-r5:10::gentoo USE="(cxx) fortran graphite* lto* (multilib) nls nptl openmp pch pgo* (pie) sanitize ssp zstd* (-ada) -d -debug -doc (-fixed-point) -go (-hardened) -jit (-libssp) -objc -objc++ -objc-gc -systemtap -test -vanilla -vtv" 0 KiB |
_________________ Andy Figueroa
hp pavilion hpe h8-1260t/2AB5; spinning rust x3
i7-2600 @ 3.40GHz; 16 gb; Radeon HD 7570
amd64/23.0/split-usr/desktop (stable), OpenRC, -systemd -pulseaudio -uefi |
|
Back to top |
|
|
mv Watchman
Joined: 20 Apr 2005 Posts: 6749
|
Posted: Fri Apr 16, 2021 7:31 am Post subject: |
|
|
figueroa wrote: | I'm on stable amd64 desktop profile (openrc) i7-2600 w/16 GB RAM. Would it be sane for me to add "sys-devel/gcc graphite lto pgo zstd" to /etc/portage/package.use? |
Definitely. This is independent of ram. (I have only i3 with 8 GB RAM, and use all of them.) I stopped using graphite related cflags/cxxflags, though, since this caused a lot of runtime segfaults and did not seem to speed up much. Maybe situation has improved meanwhile, but I am no longer interested in trying. |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 21706
|
Posted: Fri Apr 16, 2021 3:21 pm Post subject: |
|
|
figueroa wrote: | Would it be sane for me to add "sys-devel/gcc graphite lto pgo zstd" to /etc/portage/package.use? Would this give me payback in a faster system (faster binaries) while being just as stable? | Enabling lto and pgo for gcc should, in theory, make gcc perform faster when compiling programs. It will not change the logic that gcc uses to turn C code into native assembly, so the resulting compiled programs should not improve as a result of those flags. I cannot speak to whether graphite or zstd will cause gcc to generate better programs. |
|
Back to top |
|
|
eccerr0r Watchman
Joined: 01 Jul 2004 Posts: 9690 Location: almost Mile High in the USA
|
Posted: Fri Apr 16, 2021 7:29 pm Post subject: |
|
|
wonder how much runtime memory (heap + stack + code) bloat tradeoffs the resultant binary will have with PGO... might be faster assuming there's enough RAM. Assuming.
Also seems that LTO seems to eat a lot of RAM... it basically killed my ram limited server while trying to build *sigh* ... was able to save it from a reboot but had to kill VMs that were running... _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
|
mv Watchman
Joined: 20 Apr 2005 Posts: 6749
|
Posted: Sat Apr 17, 2021 5:19 am Post subject: |
|
|
eccerr0r wrote: | wonder how much runtime memory (heap + stack + code) bloat tradeoffs the resultant binary will have with PGO... might be faster assuming there's enough RAM. Assuming. |
Presumably nothing. This is more about e.g. sorting checks in the order that the more likely check will be executed first.
Quote: | Also seems that LTO seems to eat a lot of RAM... |
That lies in the nature of this option: The optimizer will inspect the whole code instead of just a snigle .o file. There are some further lto-reldated options you can use to control the amount of ram used. |
|
Back to top |
|
|
figueroa Advocate
Joined: 14 Aug 2005 Posts: 2965 Location: Edge of marsh USA
|
Posted: Sat Apr 17, 2021 8:32 pm Post subject: |
|
|
My usual gcc build time is about an hour. Last build of gcc-10.2.0-r5 as 61 minutes. I tried building gcc with "USE = lto pgo zstd" but pulled the plug after 2 hours 15 minutes. Much of the time load average was over 9 and generating a lot of heat. I may try again without lto, but for now, it doesn't seem worth it. _________________ Andy Figueroa
hp pavilion hpe h8-1260t/2AB5; spinning rust x3
i7-2600 @ 3.40GHz; 16 gb; Radeon HD 7570
amd64/23.0/split-usr/desktop (stable), OpenRC, -systemd -pulseaudio -uefi |
|
Back to top |
|
|
eccerr0r Watchman
Joined: 01 Jul 2004 Posts: 9690 Location: almost Mile High in the USA
|
Posted: Sat Apr 17, 2021 9:01 pm Post subject: |
|
|
Well, sometimes wonder if the gcc cost of lto and pgo improves the time of compiling all the other packages? As a Gentoo user, the gcc and g++ binaries are used quite often if clang isn't being run...
I tried lto and it killed my 8G box during build. definitely don't have enough ram for the settings I had and other stuff I had running. big bad swap storm. I eventually got it to finish by slowing down submission rate and killing a VM instance :( _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
|
papu l33t
Joined: 25 Jan 2008 Posts: 709 Location: Sota algun pi o alzina...
|
Posted: Wed Apr 28, 2021 5:31 pm Post subject: |
|
|
hi all , i just have updated to gcc 11 with lto+gpo , gpo takes double time compilation
are mesurable the benefits of using pgo ?
Does it make any sense to recompile again gcc 11 with gcc 11 ?
i takes 2021-04-28T16:09:10 >>> sys-devel/gcc-11.1.0: 2:45:39
https://i.imgur.com/TD8BuzF.jpg
and also a question about the use
- - graphite : Add support for the framework for loop optimizations based on a polyhedral intermediate representation
What benefit would it have to activate it and if it is a dangerous optimization, which breaks packages ... ?
thanks _________________ "~amd64" --cpu 7700 non-x --DDR5 2x16GB 6000MHz --gpu RX 470 |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 21706
|
Posted: Wed Apr 28, 2021 7:12 pm Post subject: |
|
|
papu wrote: | Does it make any sense to recompile again gcc 11 with gcc 11 ? | No. gcc's bootstrap process should have already done this for you. |
|
Back to top |
|
|
freke l33t
Joined: 23 Jan 2003 Posts: 978 Location: Somewhere in Denmark
|
Posted: Thu Apr 29, 2021 7:41 pm Post subject: |
|
|
papu wrote: | hi all , i just have updated to gcc 11 with lto+gpo , gpo takes double time compilation
are mesurable the benefits of using pgo ?
Does it make any sense to recompile again gcc 11 with gcc 11 ?
i takes 2021-04-28T16:09:10 >>> sys-devel/gcc-11.1.0: 2:45:39
https://i.imgur.com/TD8BuzF.jpg
and also a question about the use
- - graphite : Add support for the framework for loop optimizations based on a polyhedral intermediate representation
What benefit would it have to activate it and if it is a dangerous optimization, which breaks packages ... ?
thanks |
I don't think graphite should be dangerous - I've used it since ~9.1.0 and I don't have any packages which I've turned it off for - lto I had to turn of for a few select packages.
(running console-only servers)
I've been running with these graphite/lto-flags
Code: | CFLAGS="-fgraphite-identity -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block"
CFLAGS="${CFLAGS} -flto=4 -fuse-linker-plugin -fno-fat-lto-objects" |
|
|
Back to top |
|
|
|
|
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
|
|