Date: Sun, 26 Feb 2023 14:10:58 +0100 From: Matthias Andree <matthias.andree@tu-dortmund.de> To: Alexey Dokuchaev <danfe@freebsd.org> Cc: Piotr Kubaj <pkubaj@freebsd.org>, ports-committers@freebsd.org, dev-commits-ports-all@freebsd.org, dev-commits-ports-main@freebsd.org Subject: Re: git: c8c2d4f22536 - main - lang/python3: allow using LTO on powerpc64 Message-ID: <b55eb60d-35b4-6b00-8f4a-9f60c7c71c42@tu-dortmund.de> In-Reply-To: <Y/tP6VomDdWJGjhj@FreeBSD.org> References: <202302241548.31OFmQ39049727@gitrepo.freebsd.org> <98e988fa-9c8b-abee-8357-1cacd7462014@tu-dortmund.de> <Y/tP6VomDdWJGjhj@FreeBSD.org>
index | next in thread | previous in thread | raw e-mail
Am 26.02.23 um 13:26 schrieb Alexey Dokuchaev: > On Sun, Feb 26, 2023 at 01:00:19PM +0100, Matthias Andree wrote: >> Am 24.02.23 um 16:48 schrieb Piotr Kubaj: >>> commit c8c2d4f2253694802ef720f098c57800570ad2fc >>> >>> lang/python3: allow using LTO on powerpc64 >>> >>> It was recently fixed and will be available in 13.2-RELEASE. >>> Since LTO is not enabled by default, it's ok to make it available. >> >> Careful. LTO causes EXCESSIVE memory use for the build. >> I've had to disable it for a low-memory server I operate (amd64 based, >> but that's the LTO feature itself, not the CPU). > > I think most people just disable LTO because they don't have 256GB+ or > whatever amount of RAM it demands for arguably rather little gain. > > Putting OPTIONS_UNSET+=LTO in your /etc/make.conf makes the ports tree > much more usable. It depends how well software is written, and LTO can make a considerable difference. But it is extremely expensive currently, so it's probably easier to enable only on certain ports that really benefit at run-time. We would require something like a resource scheduler for poudriere or the ports build system, which tracks how much RAM and disk space we need on a certain port, architecture, possibly FreeBSD version, and with certain specific options. My builder has 16 GB RAM (virtually, it's normally in a virtual machine, but can boot natively) and building compilers in parallel usually fails. I have limited JOBS to like 6 or so. If the builds framework could track how much memory and disk space a certain build needed, and possibly the expected build time, it could make better decisions, for instance, if it dispatched a rust or llvm build, it would hold off on other compiler builds and instead build several dozen Perl or Python ports in parallel to rust.home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b55eb60d-35b4-6b00-8f4a-9f60c7c71c42>
