GNU bug report logs -
#50599
[PATCH] Don't recommend against "\[...]" substitutions for performance
Previous Next
Reported by: Stefan Kangas <stefan <at> marxist.se>
Date: Wed, 15 Sep 2021 06:29:02 UTC
Severity: minor
Tags: patch
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Severity: minor
In `(elisp) Documentation Tips', we read:
It is not practical to use ‘\\[...]’ very many times, because
display of the documentation string will become slow. So use this
to describe the most important commands in your major mode, and
then use ‘\\{...}’ to display the rest of the mode’s keymap.
When testing this on my machine on a docstring with a large number of
substitutions (107), I get the following (in "emacs -Q"):
(progn (require 'ibuffer)
(let ((times 100))
(/ (car (benchmark-run
times (documentation 'ibuffer-mode)))
times)))
=> 0.00499586008
When I increase the number of substitutions in that docstring to around 1000 (by
duplicating the docstring 10 times), I get:
=> 0.05029239337
This is 10 times slower, but still fast enough that it does not matter much.
It also suggests that this is O(N) in time.
My conclusion is that the above recommendation in `(elisp) Documentation Tips'
is irrelevant these days, and I suggest to remove it.
Please see the attached patch.
[0001-Don-t-recommend-against-using-.-substitutions-many-t.patch (text/x-patch, attachment)]
This bug report was last modified 3 years and 252 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.