[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Reliable after-change-functions (via: Using incremental parsing in E
From: |
Eli Zaretskii |
Subject: |
Re: Reliable after-change-functions (via: Using incremental parsing in Emacs) |
Date: |
Thu, 02 Apr 2020 17:23:54 +0300 |
> Cc: address@hidden, address@hidden, address@hidden,
> address@hidden
> From: Dmitry Gutov <address@hidden>
> Date: Thu, 2 Apr 2020 00:48:20 +0300
>
> >> No 'goto-char'. As we've established, it only affects the time taken by
> >> redisplay, and I can't measure that. So I'm not profiling it either,
> >> otherwise I'd be comparing apples to oranges.
> >
> > See the second profile below.
>
> Comparing both, looks like redisplay (when at eob, at least) takes
> approx. the same amount of time?
About 55% taken by redisplay (almost all of it due to fontification),
and the other 45% are the C mode "preprocessing" when the mode is
turned on in a buffer.
> >> Yes. The numbers can be different, but there is definitely some up-front
> >> computation there. One that's not present with e.g. js-mode.
> >
> > So you are saying that we should do that up-front computation just
> > because CC mode currently does it? That we shouldn't try to eliminate
> > such preprocessing? I don't think so.
>
> AFAIU CC Mode could actually eliminate it, but that would require a
> significant rework of its internals.
Are we still talking about integrating a completely different parsing
engine into CC Mode? Then redesign is a must, right?
> I'm just pointing out that apparently you didn't even notice an even
> larger delay (1.7s), and were fine with it until now.
I didn't "didn't notice", I actually filed several bug reports and
complaints about the various slow aspects of CC mode, because the
slowdown in CC mode over the years annoys me quite a lot. Some of the
problems were fixed, some weren't (due to limitations of the current
design, I was told). I'm not at all complacent about this.
> I'm not saying that nobody should try to explore how to decrease the
> delay, and what tradeoffs come with that. But for now, I think, we
> should encourage our kind volunteers to just implement integration the
> way TreeSitter's authors expect it. And try, on our side, to provide the
> best tools for it. Then we can see how well it does or doesn't work, and
> what are the biggest annoyances that the users have with it.
I cannot tell the volunteers what to do and where to invest their
resources. But I can provide feedback on the design ideas, based on
what I know and on my experience, and I can suggest how to design and
implement this to achieve good and scalable performance. In
particular, I think that it is useful to know what we have tried in
the past and what were the lessons we learned from that. I hope what
I say is of some help, and I hope we will soon have such engine
available to Emacs.
- Re: Reliable after-change-functions (via: Using incremental parsing in Emacs), Eli Zaretskii, 2020/04/01
- Re: Reliable after-change-functions (via: Using incremental parsing in Emacs), Dmitry Gutov, 2020/04/01
- Re: Reliable after-change-functions (via: Using incremental parsing in Emacs), Eli Zaretskii, 2020/04/01
- Re: Reliable after-change-functions (via: Using incremental parsing in Emacs), Eli Zaretskii, 2020/04/01
- Re: Reliable after-change-functions (via: Using incremental parsing in Emacs), Dmitry Gutov, 2020/04/01
- Re: Reliable after-change-functions (via: Using incremental parsing in Emacs), Eli Zaretskii, 2020/04/01
- Re: Reliable after-change-functions (via: Using incremental parsing in Emacs), Dmitry Gutov, 2020/04/01
- Re: Reliable after-change-functions (via: Using incremental parsing in Emacs), Stefan Monnier, 2020/04/01
- Re: Reliable after-change-functions (via: Using incremental parsing in Emacs),
Eli Zaretskii <=
- Re: Reliable after-change-functions (via: Using incremental parsing in Emacs), Dmitry Gutov, 2020/04/02
- Re: Reliable after-change-functions (via: Using incremental parsing in Emacs), Eli Zaretskii, 2020/04/02
- Re: Reliable after-change-functions (via: Using incremental parsing in Emacs), Tuấn-Anh Nguyễn, 2020/04/03
- Re: Reliable after-change-functions (via: Using incremental parsing in Emacs), Dmitry Gutov, 2020/04/03
Re: Reliable after-change-functions (via: Using incremental parsing in Emacs), Alan Mackenzie, 2020/04/01