unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Dmitry Gutov <dmitry@gutov.dev>
To: "Eli Zaretskii" <eliz@gnu.org>,
	"Gerd Möllmann" <gerd.moellmann@gmail.com>
Cc: emacs-devel@gnu.org, eller.helmut@gmail.com
Subject: Re: MPS: optimized build
Date: Mon, 6 May 2024 18:16:24 +0300	[thread overview]
Message-ID: <695ff4de-11fd-4d73-b044-6c7c3ff37b5f@gutov.dev> (raw)
In-Reply-To: <86r0efb1nq.fsf@gnu.org>

On 06/05/2024 14:49, Eli Zaretskii wrote:
>> From: Gerd Möllmann <gerd.moellmann@gmail.com>
>> Cc: Emacs Devel <emacs-devel@gnu.org>,  Eli Zaretskii <eliz@gnu.org>,
>>    Helmut Eller <eller.helmut@gmail.com>
>> Date: Mon, 06 May 2024 09:03:48 +0200
>>
>> Dmitry Gutov <dmitry@gutov.dev> writes:
>>
>>> On 05/05/2024 09:16, Gerd Möllmann wrote:
>>>> In general, but I guess the wish is the father of the thought as we say
>>>> here, Emacs seems to be, hm, snappier? Consult, vertico, corfu, ...
>>>> completions, even typing text maybe?
>>>> Would be interesting to hear from others how they perceive it...
>>>
>>> I've built the branch and done some measurements with
>>>
>>>    (benchmark-run 5 (project-files (project-current)))
>>>
>>> and it seems like the same or a little slower with smaller projects
>>> (less GC-intensive) and a stable improvement, about 5%, in in a larger
>>> one (more GC-intensive). Which seems good.
>>>
>>> I haven't noticed a particular change in snappiness so far, but then I
>>> also don't usually see this problem.
>>
>> Thanks!
>>
>> Interesting anecdote, maybe: I think I mentioned that have an Org file
>> in which GCs happened so often that it was basically unusable. This Org
>> file behaved much much better with MPS. Almost normal.
> 
> Indeed, the comparisons in this case should be against code that
> produces a lot of garbage, not against code that is performance-heavy.

I think when evaluating the change we would consider two questions:

- Does it make non-consing code slower? (Due to more complex object 
accounting, for example, or expensive parallel scanning).
- Does it reduce the time spent in GC when there is indeed garbage to 
collect.

I'd also ask "does it reduce pauses", but this one seems to have been 
already answered, MPS being a concurrent GC. Though there might have 
been some locking issues which could induce pauses anyway.

My scenario above is actually garbage-heavy (lots of strings generated). 
And yet the new GC is the same or slightly slower for smaller project 
scans, but faster on the largest one. Might have to do something with 
the fact that the current GC's thresholds are in absolute values, not 
percentiles of any kind.



  reply	other threads:[~2024-05-06 15:16 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-05  6:16 MPS: optimized build Gerd Möllmann
2024-05-05  7:50 ` Andrea Corallo
2024-05-05  8:05   ` Gerd Möllmann
2024-05-05  8:16     ` Andrea Corallo
2024-05-06 13:44   ` Helmut Eller
2024-05-06 20:28     ` Andrea Corallo
2024-05-07  7:13     ` MPS: bignums (was: MPS: optimized build) Helmut Eller
2024-05-07  7:21       ` MPS: bignums Gerd Möllmann
2024-05-07  8:15       ` MPS: bignums (was: MPS: optimized build) Mattias Engdegård
2024-05-07  9:06         ` MPS: bignums Helmut Eller
2024-05-07  9:27           ` Gerd Möllmann
2024-05-07  9:48           ` Mattias Engdegård
2024-05-07 12:17             ` Gerd Möllmann
2024-05-07 16:33             ` Helmut Eller
2024-05-07 16:38               ` Mattias Engdegård
2024-05-08 12:59               ` Helmut Eller
2024-05-08 13:08                 ` Gerd Möllmann
2024-05-08 13:13                   ` Helmut Eller
2024-05-08 13:14                     ` Gerd Möllmann
2024-05-05 20:20 ` MPS: optimized build Dmitry Gutov
2024-05-06  7:03   ` Gerd Möllmann
2024-05-06 11:49     ` Eli Zaretskii
2024-05-06 15:16       ` Dmitry Gutov [this message]
2024-05-06 15:17     ` Dmitry Gutov

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=695ff4de-11fd-4d73-b044-6c7c3ff37b5f@gutov.dev \
    --to=dmitry@gutov.dev \
    --cc=eliz@gnu.org \
    --cc=eller.helmut@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=gerd.moellmann@gmail.com \
    /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).