[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Merging scratch/substitute-command-keys to master
From: |
Stefan Kangas |
Subject: |
Merging scratch/substitute-command-keys to master |
Date: |
Sat, 17 Oct 2020 14:03:25 +0000 |
I've been working on translating `substitute-command-keys' from C to
Lisp, and I think it's getting ready to merge to master. Please see the
branch scratch/substitute-command-keys.
Note that this is a rather close 1 to 1 translation from C to Lisp, so
there should also exist many opportunities to take better advantage of
a more expressive language.
One obvious concern is performance. Here is what I've used to
benchmark it:
(with-temp-buffer
(dired-mode)
(let* ((times 100)
(result (benchmark-run times
(documentation 'dired-mode))))
(cl-mapcar '/ result (make-list 3 (float times)))))
Old C version: (0.02171680510 0.2 0.01730526807)
New Lisp version: (0.02775125134 0.24 0.01882684842)
[It would be useful if someone could help verify the above results.]
I hope the above figures are acceptable. Hopefully, we will be able
to improve the implementation to be more performant over time.
Finally, note that I didn't yet rip out the old C code, and that the
branch is currently based on the master branch from May.
Thanks in advance for any comments and reviews.
(BTW, do we generally merge branches as-is with their full history or do
we squash them and push as a single commit?)