From: Alan Mackenzie <acm@muc.de>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: larsi@gnus.org, mattiase@acm.org,
Gregory Heytings <gregory@heytings.org>,
Eli Zaretskii <eliz@gnu.org>,
emacs-devel@gnu.org
Subject: Re: Time to merge scratch/correct-warning-pos into master, perhaps?
Date: Tue, 25 Jan 2022 20:58:04 +0000 [thread overview]
Message-ID: <YfBkXO77dQLzXb69@ACM> (raw)
In-Reply-To: <jwvk0en1vbl.fsf-monnier+emacs@gnu.org>
Hello, Stefan.
On Tue, Jan 25, 2022 at 14:26:31 -0500, Stefan Monnier wrote:
[ .... ]
> >> I do find the slowdowns discussed here rather worrisome.
> >> I thought the original agreement was that it was OK to install this
> >> change if the slowdown could be brought down to about 1% or below (for
> >> the non-compilation case).
> >> More importantly, I wonder how slowing down EQ by a factor of 2 can end
> >> up costing 10% of runtime when running the test suite. I think this
> >> deserves investigation.
> > Maybe it's because a lot of the time spent by make check is spent in
> > compilation, whether byte or native. Compilation _is_ slower, by quite
> > a bit.
> No, we are talking about the execution time:
I've just tried timing $ make -j17 check on an up to date master, and a
master two - four weeks old, both configured the same, with native
compilation. Much of the run time was taken by native compilation.
The two times were 42.966s and 48.547s. That's a difference of just
under 13%. Not a systematic comparison, since make check may have got
bigger in the last few weeks.
> Gregory Heytings wrote:
> In short: byte-compilation is ~17.5% slower, execution is ~11%
> slower. Nowhere near the "in the region of 1%" that was announced.
I don't think Gregory has ever been specific about what precisely he has
timed, and how. I have. And the 1% figure was for a specific timing,
namely scrolling through xdisp.c from start to end, fontifying as we go.
> > When I ran elisp-benchmark on the before and after versions, the change
> > was 2½% (on a native compiled Emacs).
> So, something changes the cost from 2-3% to 11%. Maybe it's native
> compilation (tho I don't know if Gregory ran these with native
> compilation or not), or maybe it's somewhere in the nature of the code
> in the test suite, or ...
.... or all of these things. I suspect it's mainly the increased cost of
the compilation.
> Mind you, I consider 2½% to be already quite different from "about
> 1%", ...
Really? You have a batch job which you were expecting to take a minute.
Now, instead, it takes 61 seconds. What would you have done with that
extra second, which is now no longer in your life?
> but I think we should first focus on those 11% reports because I don't
> think I'm willing to slow down all execution by 10% just to get better
> position info in the compilation warnings.
We're not talking about "better" position info. We're talking about
correct versus incorrect; functional versus buggy. Compilation has got
slower because it's no longer skimping on an essential portion of its
task.
You are taking up the emotional element of Gregory's posts. There is no
"all" in the 10% slow down. That is a measure of the slowdown of $ make
check, nothing else. The time to bootstrap is about 7% - 8% slower
after the bug fix. But nobody else cared enough about the boostrap time
to bother putting in the use of the byte-compiled compiler in early
bootstrap until I did a week or so ago. Bootstrap has become steadily
slower over the months as features have been added. Does anybody really
care? If you scroll through C Mode code fontifying it, the fixed Emacs
is about 1% slower. If you run the elisp-benchmarks, it's about 2½%
slower.
If we were talking about the output of a chemical factory, a 2½%
reduction in output would probably be serious. But we're not, we're
talking about a use case where the computer's waiting for the next key
stroke nearly all the time anyway.
But do some comparative timings. I think you'll find the typical loss
in performance is a good deal less than 11%.
> Stefan
--
Alan Mackenzie (Nuremberg, Germany).
next prev parent reply other threads:[~2022-01-25 20:58 UTC|newest]
Thread overview: 150+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-15 18:15 Time to merge scratch/correct-warning-pos into master, perhaps? Alan Mackenzie
2022-01-15 18:24 ` Eli Zaretskii
2022-01-16 8:24 ` Lars Ingebrigtsen
2022-01-16 9:51 ` Po Lu
2022-01-16 13:50 ` Alan Mackenzie
2022-01-16 12:02 ` Lars Ingebrigtsen
2022-01-16 12:06 ` Po Lu
2022-01-16 13:12 ` Lars Ingebrigtsen
2022-01-16 14:02 ` Alan Mackenzie
2022-01-17 0:28 ` Po Lu
2022-01-17 3:28 ` Eli Zaretskii
2022-01-17 3:37 ` Po Lu
2022-01-16 14:00 ` Alan Mackenzie
2022-01-16 12:23 ` Eli Zaretskii
2022-01-16 12:26 ` Lars Ingebrigtsen
2022-01-16 12:36 ` Eli Zaretskii
2022-01-16 14:06 ` Alan Mackenzie
2022-01-16 14:11 ` Lars Ingebrigtsen
2022-01-16 14:21 ` Eli Zaretskii
2022-01-16 14:45 ` Alan Mackenzie
2022-01-16 15:04 ` Eli Zaretskii
2022-01-16 15:26 ` Alan Mackenzie
2022-01-16 15:43 ` Eli Zaretskii
2022-01-16 15:50 ` Alan Mackenzie
2022-01-16 13:47 ` Alan Mackenzie
2022-01-16 14:10 ` Lars Ingebrigtsen
2022-01-16 14:59 ` Stefan Monnier
2022-01-16 14:57 ` Stefan Monnier
2022-01-16 15:04 ` Lars Ingebrigtsen
2022-01-16 15:37 ` Alan Mackenzie
2022-01-16 15:50 ` Mattias Engdegård
2022-01-16 16:18 ` Alan Mackenzie
2022-01-16 16:52 ` Mattias Engdegård
2022-01-16 17:13 ` Stefan Monnier
2022-01-16 17:24 ` Mattias Engdegård
2022-01-22 12:23 ` Alan Mackenzie
2022-01-22 14:30 ` Lars Ingebrigtsen
2022-01-22 15:09 ` Alan Mackenzie
2022-01-22 15:26 ` Lars Ingebrigtsen
2022-01-22 15:36 ` Eli Zaretskii
2022-01-22 18:30 ` Alan Mackenzie
2022-01-23 12:45 ` Lars Ingebrigtsen
2022-01-22 16:06 ` Mattias Engdegård
2022-01-22 17:02 ` Gregory Heytings
2022-01-22 17:46 ` Eli Zaretskii
2022-01-22 18:01 ` Gregory Heytings
2022-01-22 18:12 ` Eli Zaretskii
2022-01-22 22:36 ` Gregory Heytings
2022-01-22 22:55 ` Alan Mackenzie
2022-01-23 6:16 ` Eli Zaretskii
2022-01-23 21:53 ` Gregory Heytings
2022-01-24 3:37 ` Eli Zaretskii
2022-01-24 15:20 ` Gregory Heytings
2022-01-24 16:47 ` Eli Zaretskii
2022-01-24 20:41 ` Gregory Heytings
2022-01-25 3:34 ` Eli Zaretskii
2022-01-25 8:59 ` Gregory Heytings
2022-01-25 11:27 ` Alan Mackenzie
2022-01-25 13:27 ` Stefan Monnier
2022-01-25 18:27 ` Alan Mackenzie
2022-01-25 19:26 ` Stefan Monnier
2022-01-25 20:58 ` Alan Mackenzie [this message]
2022-01-25 21:27 ` Gregory Heytings
2022-01-26 17:32 ` Alan Mackenzie
2022-01-26 18:59 ` Gregory Heytings
2022-01-26 20:26 ` Alan Mackenzie
2022-01-25 22:11 ` Stefan Monnier
2022-01-25 22:42 ` Óscar Fuentes
2022-01-26 1:08 ` Po Lu
2022-01-26 16:56 ` chad
2022-01-26 17:38 ` Eli Zaretskii
2022-01-26 17:58 ` chad
2022-01-26 18:46 ` Gregory Heytings
2022-01-26 19:47 ` Stefan Monnier
2022-01-26 19:59 ` Alan Mackenzie
2022-01-25 21:18 ` Gregory Heytings
2022-01-25 21:38 ` Gregory Heytings
2022-01-25 22:21 ` Stefan Monnier
2022-01-26 18:36 ` Gregory Heytings
2022-02-04 0:11 ` Gregory Heytings
2022-02-04 11:57 ` Alan Mackenzie
2022-02-04 12:06 ` Eli Zaretskii
2022-02-04 18:31 ` Alan Mackenzie
2022-02-04 18:54 ` Eli Zaretskii
2022-02-04 19:33 ` Alan Mackenzie
2022-02-04 19:46 ` Eli Zaretskii
2022-02-04 21:24 ` Alan Mackenzie
2022-02-04 22:24 ` Stefan Monnier
2022-02-04 22:30 ` Stefan Monnier
2022-02-05 7:28 ` Eli Zaretskii
2022-02-05 18:04 ` Stefan Monnier
2022-02-05 18:31 ` Eli Zaretskii
2022-02-05 8:17 ` Eli Zaretskii
2022-02-06 11:50 ` Alan Mackenzie
2022-02-06 11:56 ` Eli Zaretskii
2022-02-06 18:09 ` Alan Mackenzie
2022-02-06 18:39 ` Eli Zaretskii
2022-02-19 16:42 ` Alan Mackenzie
2022-02-19 17:02 ` Eli Zaretskii
2022-02-19 17:43 ` David Engster
2022-02-19 22:10 ` Alan Mackenzie
2022-02-20 5:35 ` David Engster
2022-02-20 19:45 ` Alan Mackenzie
2022-02-20 20:37 ` Stefan Monnier
2022-02-20 20:56 ` Alan Mackenzie
2022-02-20 23:02 ` Stefan Monnier
2022-02-21 0:22 ` Óscar Fuentes
2022-02-21 3:31 ` Eli Zaretskii
2022-02-21 4:04 ` Óscar Fuentes
2022-02-21 12:15 ` Eli Zaretskii
2022-02-21 14:55 ` Óscar Fuentes
2022-02-21 3:29 ` Eli Zaretskii
2022-02-19 19:01 ` Stefan Monnier
2022-02-19 19:30 ` Eli Zaretskii
2022-02-19 22:03 ` Alan Mackenzie
2022-02-25 22:29 ` Alan Mackenzie
2022-02-06 18:40 ` Eli Zaretskii
2022-02-06 19:03 ` Eli Zaretskii
2022-02-07 17:36 ` Andrea Corallo
2022-02-05 6:08 ` Lars Ingebrigtsen
2022-02-05 11:42 ` Alan Mackenzie
2022-02-05 21:31 ` Lars Ingebrigtsen
2022-02-06 7:02 ` Eli Zaretskii
2022-02-06 11:38 ` Alan Mackenzie
2022-02-06 23:14 ` Lars Ingebrigtsen
2022-01-25 21:15 ` Gregory Heytings
2022-01-25 21:30 ` Andrea Corallo
2022-01-26 18:43 ` Gregory Heytings
2022-01-26 21:04 ` Andrea Corallo
[not found] ` <b0265c41-7ead-4913-667-d0e76a35b3ba@heytings.org>
2022-01-25 21:16 ` Gregory Heytings
2022-01-25 12:26 ` Eli Zaretskii
2022-01-26 18:41 ` Gregory Heytings
2022-01-26 18:59 ` Eli Zaretskii
2022-01-26 19:14 ` Stefan Monnier
2022-01-26 19:32 ` Eli Zaretskii
2022-01-26 19:34 ` Alan Mackenzie
2022-01-22 18:35 ` Alan Mackenzie
2022-01-22 18:45 ` Gregory Heytings
2022-01-22 18:50 ` Eli Zaretskii
2022-01-22 20:07 ` Gregory Heytings
2022-01-23 5:32 ` Eli Zaretskii
2022-01-23 21:44 ` Gregory Heytings
2022-01-15 22:57 ` Stefan Monnier
2022-01-16 0:27 ` Brahimi Saifullah
2022-01-16 14:53 ` Alan Mackenzie
2022-01-16 16:45 ` Brahimi Saifullah
2022-01-22 11:41 ` Alan Mackenzie
2022-01-22 23:16 ` Brahimi Saifullah
2022-01-23 14:09 ` Alan Mackenzie
2022-01-17 9:38 ` Andrea Corallo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YfBkXO77dQLzXb69@ACM \
--to=acm@muc.de \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=gregory@heytings.org \
--cc=larsi@gnus.org \
--cc=mattiase@acm.org \
--cc=monnier@iro.umontreal.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).