emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Migrating to sourcehut - what's missing?


From: Óscar Fuentes
Subject: Re: Migrating to sourcehut - what's missing?
Date: Thu, 23 Dec 2021 10:11:23 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Óscar Fuentes <ofv@wanadoo.es>
>> Date: Wed, 22 Dec 2021 21:14:37 +0100
>> 
>> Eli Zaretskii <eliz@gnu.org> writes:
>> 
>> >> The Emacs build has several parts with no paralellization. In my humble
>> >> 8-thread machine most of the 4.5 minutes it takes to build (without
>> >> native-comp) only one thread is active, and today's CPUs are not much
>> >> faster than mine doing single-threaded tasks.
>> >
>> > If you have 8 threads, why don't you use "make -j8"?
>> 
>> That's what I use.
>> 
>> > Then most of the time you'd see 8 compilation processes run in
>> > parallel.
>> >
>> > That's what I see here.
>> 
>> Probably you are talking about an incremental build.
>
> No, I'm talking about a fresh build, or bootstrap, or a build after
> all the *.elc files have been deleted.

If I execute

rm -rf * && time make bootstrap -j9

on the build directory, it takes 1m28s. If I go to the source directory
and:

git clean -fdx && ./autogen.sh

then go back to the build directory and:

rm -rf * && time ../emacs/configure  --without-toolkit-scroll-bars 
--with-x-toolkit=lucid --with-modules --without-imagemagick

20s

time make -j9

4m9s

Apart from the configure script and dumping, the bulk of the time the
build is running single-threaded is while doing:

INFO     Processing OKURI-NASI entries...

and even longer:

INFO     Scraping files for loaddefs.el...

BTW, this is in Debian Testing.

> The only single-threaded parts I see is (a) the configure script (and
> autogen.sh, if that needs to be run), and (b) the link stage of the
> Emacs executable.  Everything else runs in parallel, and if I says
> "make -j8" I see load-average show numbers around 8 most of the time
> on the mode line.

Try building after `git clean -fdx'.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]