Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation

From: Stefan Monnier <[email-masked]>
Date: Thu, 24 Apr 2025 12:13:44 -0400

>> Evaluate this, then invoke "M-x scroll-up-benchmark" in a large buffer
>> with lots of non-ASCII characters.  Compare the timings between the
>> two versions of Emacs.
>
> elb-scroll from elisp-bechmarks is basically
>
>       (dotimes (_ 10)
>         (elb-smie-mode)
>         (goto-char (point-min))
>         (condition-case nil
>             (while t (scroll-up nil) (redisplay 'force))
>           (end-of-buffer nil))))))
>
> looks similar, but I don't know what elb-smie-mode does.

It's a major mode for the C language, separate from CC-mode.
[ It's basically "vendored" copy of the `sm-c-mode` that's on GNU ELPA.  ]

So the benchmark tests scroll time, including jit/font-lock time.
It uses its own copy of a major mode, so that you can compare "scroll +
font-lock" performance between different Emacs releases without being
affected by improvements/regressions in CC-mode itself.

        Stefan