[Top][All Lists]

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

Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed

From: H. Dieter Wilhelm
Subject: Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed
Date: Sun, 30 Jan 2022 22:31:04 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.91 (windows-nt)

Eli Zaretskii <eliz@gnu.org> writes:

>> From: "H. Dieter Wilhelm" <dieter@duenenhof-wilhelm.de>
>> Cc: emacs-devel@gnu.org
>> Date: Sun, 30 Jan 2022 19:12:25 +0100
>> >> I'm curious about the hyperthreading potential on my 4 core Intel laptop
>> >> for doing compilations. And checked Emacs-28.0.91 from Corwin with (setq
>> >> native-comp-async-jobs-number 8) vs 4 jobs.  My init.el forces Emacs to
>> >> compile over 200 .eln files and it took about 5'40" with 8 logical
>> >> processors and 7'7" with 4 logical processors.
>> >
>> > How many execution units you actually have there?
>> I think you mean with "execution units" what the task manager calls
>> "cores".  This computer has 4 cores and 8 logical processors as you can
>> see in the attached image from it's task manager.
> If all you have is 8 execution units, using them all for compilation
> will indeed not show twice the speed as with 4 jobs, because the OS
> needs some of the CPU resources to do its job.

Yes, it's true that the OS needs resources, but it's not the major
effect on machines with Intel CPUs (hyperthreading enabled, I don't have
experience with AMD processors.)

Here's the same test for 6 and 3 native-comp-ansync-jobs (4 core CPU)

  6 jobs : 6'12"
  3 jobs : 8'23"

That's roughly what I experience with simulation software as well.  The
heavy lifting is done by cores, the number of "logical processors"
doesn't scale.  (Usually we are doing long running simulation jobs with
the number of cores - 1.)

> I generally find the default of half the execution units used for
> background native compilation as adequate: it lets me work in Emacs
> with almost no visible slowdown while JIT compilation goes on.

I assume for editing tasks it doesn't matter if all cores are used by
compilation and the system load is low.


reply via email to

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