[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CC Mode with font-lock-maximum-decoration 2
From: |
Alan Mackenzie |
Subject: |
Re: CC Mode with font-lock-maximum-decoration 2 |
Date: |
Mon, 8 Aug 2022 18:41:01 +0000 |
On Mon, Aug 08, 2022 at 20:41:37 +0300, Eli Zaretskii wrote:
> > Date: Mon, 08 Aug 2022 20:15:25 +0300
> > From: Eli Zaretskii <eliz@gnu.org>
> > Cc: emacs-devel@gnu.org
> > > For this measurement, I started with subr.el, and appended copies of it
> > > to itself, then took functions off the end, to make it the same size as
> > > xdisp.c. xdisp.c is 1209233 bytes, my .el buffer was 1209371 bytes.
> > > I used M-: (benchmark-run 1 (time-scroll-b)) on each buffer, with:
> > > (defun time-scroll-b (&optional arg) ; For use in `benchmark-run'.
> > > (condition-case nil
> > > (while t
> > > (if arg (scroll-down) (scroll-up))
> > > (sit-for 0))
> > > (error nil)))
> > > .. The exact results were:
> > > (xdisp.c): (5.7370774540000005 9 0.7672129740000013)
> > > (elisp): (4.1201735589999995 5 0.42918214299999846).
> > > This was, of course, on an optimised build on GNU/Linux using the Linux
> > > console, both measurements starting at BOB, having typed and deleted a
> > > character to erase existing font-locking.
> > Editing source code is more than just scrolling through the text and
> > getting it fontified, though. For realistic measurements, you need to
> > emulate and time a typical mix of editing operations.
> And btw, I'm not sure I understand what you are saying. Are you
> saying that level 2 is enough for fontifications in C mode?
No.
> If so, what are we losing when compared to the value t, and if we don't
> lose anything important, why do we need any fontifications beyond what
> level 2 gives us?
We lose accuracy. That is important to a lot of people, including the
many who have sent in bug reports because of lack of accuracy.
> And what about the value nil instead of 2?
I haven't tried that, yet.
> IOW, if you are saying that you consider level 2 to be the recommended
> level for C sources, why didn't we make that change long ago?
I'm not saying that. I think, on balance, most users prefer the accuracy
of level 3 to the speed of level 2. I've got no real evidence for that,
however.
> For Lisp, btw, the difference between level 2 and t is negligible.
> And the same goes for most/all other modes, which is the reason why we
> have set the value to t years ago. I'm quite sure at that time the
> difference between 2 and t for C mode was also very small.
Martin Stjernholm wrote (what has become) the current level 3 around 20
years ago, noting specifically it was expected to be slower than before,
and that the new level 2 was comparable in both speed and accuracy to the
old level 3. Since then level 3 has become considerably more accurate
and quite a bit slower, too.
My impression of those times was that the old level 3 was just incapable
of being amended to satisfy users' demands for accurate fontification.
Again, I'd have to check old CC Mode bug list archives to be sure.
--
Alan Mackenzie (Nuremberg, Germany).
- Re: Major modes using `widen' is a good, even essential, programming practice., (continued)
- Re: Major modes using `widen' is a good, even essential, programming practice., Eli Zaretskii, 2022/08/07
- Re: Major modes using `widen' is a good, even essential, programming practice., Alan Mackenzie, 2022/08/08
- Re: Major modes using `widen' is a good, even essential, programming practice., Eli Zaretskii, 2022/08/08
- CC Mode with font-lock-maximum-decoration 2 [Was Major modes using `widen' is a good, even essential, programming practice.], Alan Mackenzie, 2022/08/08
- Re: CC Mode with font-lock-maximum-decoration 2 [Was Major modes using `widen' is a good, even essential, programming practice.], Gregory Heytings, 2022/08/08
- Re: CC Mode with font-lock-maximum-decoration 2, Alan Mackenzie, 2022/08/08
- Re: CC Mode with font-lock-maximum-decoration 2, Gregory Heytings, 2022/08/08
- Re: CC Mode with font-lock-maximum-decoration 2, Gregory Heytings, 2022/08/09
- Re: CC Mode with font-lock-maximum-decoration 2 [Was Major modes using `widen' is a good, even essential, programming practice.], Eli Zaretskii, 2022/08/08
- Re: CC Mode with font-lock-maximum-decoration 2 [Was Major modes using `widen' is a good, even essential, programming practice.], Eli Zaretskii, 2022/08/08
- Re: CC Mode with font-lock-maximum-decoration 2,
Alan Mackenzie <=
- Re: CC Mode with font-lock-maximum-decoration 2, Eli Zaretskii, 2022/08/08
- Re: CC Mode with font-lock-maximum-decoration 2, Alan Mackenzie, 2022/08/08
- Re: CC Mode with font-lock-maximum-decoration 2, Eli Zaretskii, 2022/08/08
- Re: CC Mode with font-lock-maximum-decoration 2, Alan Mackenzie, 2022/08/09
- Re: CC Mode with font-lock-maximum-decoration 2, Eli Zaretskii, 2022/08/09
- Re: CC Mode with font-lock-maximum-decoration 2, Alan Mackenzie, 2022/08/09
- Re: CC Mode with font-lock-maximum-decoration 2, Eli Zaretskii, 2022/08/09
- Re: CC Mode with font-lock-maximum-decoration 2, Alan Mackenzie, 2022/08/09
- Re: CC Mode with font-lock-maximum-decoration 2, Eli Zaretskii, 2022/08/09
- Re: CC Mode with font-lock-maximum-decoration 2, Alan Mackenzie, 2022/08/09