GNU bug report logs -
#78665
31.0.50; Very slow saves
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Wed, 04 Jun 2025 16:40:36 -0400
with message-id <jwvsekfkzqn.fsf-monnier+emacs <at> gnu.org>
and subject line Re: bug#78665: 31.0.50; Very slow saves
has caused the debbugs.gnu.org bug report #78665,
regarding 31.0.50; Very slow saves
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
78665: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=78665
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Package: Emacs
Version: 31.0.50
The last few weeks I noticed that saving a buffer was sometimes taking
a very long time (like more than 10s). I finally managed to catch it
in the act while running the profiler, and it seems to have something to
do with `outline--hidden-headings-restore-paths`:
9630 75% - command-execute
9630 75% - call-interactively
8638 67% - funcall-interactively
8630 67% - save-buffer
8630 67% - basic-save-buffer
8607 67% - run-hooks
8607 67% - vc-git-resolve-when-done
8593 67% - vc-resynch-buffer
8593 67% - vc-resynch-window
8593 67% - vc-revert-buffer-internal
8593 67% - revert-buffer
8353 65% - mapc
8353 65% - funcall
8353 65% - #<byte-code-function 1FB>
8353 65% - outline--hidden-headings-restore-paths
8353 65% - outline-map-region
7748 60% - #<byte-code-function 28A>
7732 60% - outline-hide-subtree
7728 60% - outline-flag-subtree
4268 33% + outline-back-to-heading
3393 26% + outline-end-of-subtree
63 0% + outline-flag-region
4 0% + outline-end-of-heading
8 0% + mapcar
4 0% gethash
4 0% pos-bol
605 4% + outline-next-heading
232 1% + run-hook-wrapped
8 0% + revert-buffer--default
14 0% re-search-forward
16 0% + basic-save-buffer-1
4 0% + vc-before-save
3 0% + vc-after-save
8 0% + execute-extended-command
992 7% + byte-code
1855 14% + redisplay_internal (C function)
1166 9% + #<byte-code-function 6A0>
45 0% + timer-event-handler
4 0% + jit-lock--antiblink-post-command
4 0% + reveal-post-command
0 0% ...
This one occurred while saving `transient.el`.
Maybe we could avoid the whole thing by changing VC to not
`revert-buffer` (AFAIK this was done to handle the case where CVS/RCS
would update the "keywords" in the file to reflect its new state, but
I believe this is basically never done nowadays).
But in any case `outline--hidden-headings-restore-paths` just takes too
much time.
Stefan
[Message part 3 (message/rfc822, inline)]
> I've completed testing your patch and found no problems.
Thanks, pushed to `master`,
Stefan
This bug report was last modified 11 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.