GNU bug report logs - #77924
31.0.50; [Feature branch] Change marker implementation

Previous Next

Package: emacs;

Reported by: Gerd Möllmann <gerd.moellmann <at> gmail.com>

Date: Sat, 19 Apr 2025 16:06:02 UTC

Severity: normal

Found in version 31.0.50

Full log


View this message in rfc822 format

From: Visuwesh <visuweshm <at> gmail.com>
To: Gerd Möllmann <gerd.moellmann <at> gmail.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, yantar92 <at> posteo.net, Stefan Monnier <monnier <at> iro.umontreal.ca>, 77924 <at> debbugs.gnu.org, stefankangas <at> gmail.com
Subject: bug#77924: 31.0.50; [Feature branch] Change marker implementation
Date: Thu, 24 Apr 2025 17:31:49 +0530
[Message part 1 (text/plain, inline)]
[வியாழன் ஏப்ரல் 24, 2025] Gerd Möllmann wrote:

>> Is there a standard benchmark code that I can try for this?  I have such
>> a large HTML file with Tamil text, and I can scroll through the buffer
>> produced by shr-render-buffer.
>
> The elisp-benchmarks package has an elb-scroll.el, in its benchmarks
> directory. AFAICT, that loads an xmenu.c from the resources
> sub-directory of the benchmarks.
>
> You could copy that, or modify it.
>
> P.S.
>
> One can set the benchmarks directory to somewhere else, and run
> benchmarks like this:
>
>   (setq elb-bench-directory "~/emacs/notes/code/benchmarks")
>   (elisp-benchmarks-run ".*replace-region-contents.*" t 100)
>
> The 100 is the number of runs, which should be chosen high enough that
> the "err" column in the result buffer is reasonably low. I'd start with
> 1 to see how long that takes, and then increase it.

I ran the benchmark with the text file tamil.txt in place of xmenu.c,
but I didn't disable elb-smie-mode since I ran into weird issues.  In
both master and text-index cases, I ran the benchmark with

    % emacs -Q -l elisp-benchmarks-run --eval '(elisp-benchmarks-run "elb-scroll" t 10)'

and here are the results for the master branch:

* Results

  | test   | non-gc (s) | gc (s) | gcs | total (s) | err |
  |--------+------------+--------+-----+-----------+-----|
  | scroll |     155.73 |  49.29 | 835 |    205.02 |  0% |
  |--------+------------+--------+-----+-----------+-----|
  | total  |     155.73 |  49.29 | 835 |    205.02 |  0% |

and for the scratch/text-index branch:

* Results

  | test   | non-gc (s) | gc (s) | gcs | total (s) | err |
  |--------+------------+--------+-----+-----------+-----|
  | scroll |     171.89 |  51.56 | 869 |    223.44 |  1% |
  |--------+------------+--------+-----+-----------+-----|
  | total  |     171.89 |  51.56 | 869 |    223.44 |  1% |

Unfortunately, my laptop went to power saving mode during the last two
minutes or so for the scratch/text-index benchmark run so that might
play into the numbers a tiny bit.  I can try repeating the test later
for the latter case if desired.  Empirically speaking, both branches
seemed to scroll at the same speed.

This is how I configured both Emacses:

    % ./configure --with-sound=alsa --with-x-toolkit=motif \
                  --without-xaw3d --without-gconf --without-libsystemd \
                  --with-cairo CFLAGS=-g3 CC=$(which gcc-13)

If anyone wants to repeat the test, I attach the text file (compressed)
I use here.

[tamil.txt.gz (application/gzip, attachment)]

This bug report was last modified 105 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.