From: "Gerd Möllmann" <gerd.moellmann@gmail.com>
To: Alan Third <alan@idiocy.org>
Cc: ccsmile2008@outlook.com, Eli Zaretskii <eliz@gnu.org>,
65908@debbugs.gnu.org, gregory@heytings.org,
stefankangas@gmail.com
Subject: bug#65908: 29.1.50; Emacs 29 regresses on macOS
Date: Thu, 05 Oct 2023 15:56:11 +0200 [thread overview]
Message-ID: <m2cyxtp404.fsf@Pro.fritz.box> (raw)
In-Reply-To: <m2a5sxpblh.fsf@Pro.fritz.box> ("Gerd Möllmann"'s message of "Thu, 05 Oct 2023 13:12:10 +0200")
[-- Attachment #1: Type: text/plain, Size: 476 bytes --]
Gerd Möllmann <gerd.moellmann@gmail.com> writes:
> Aprt from that, I'm currently trying to get profiling working on my old
> Macbook Pro, to compare the profiles of the 2 commits on emacs-29 which
> show the difference. That could maybe answer your question.
To the question of profiling. I've now used the built-in profiler on
the two commits, but I must say that I don't see where the difference
comes from. These are debug builds, 5 runs of the benchmark.
[-- Attachment #2: slow case --]
[-- Type: text/plain, Size: 18160 bytes --]
6446 92% - command-execute
6446 92% - call-interactively
6287 90% - funcall-interactively
6268 89% - eval-print-last-sexp
6268 89% - eval-last-sexp
6268 89% - elisp--eval-last-sexp
6264 89% - eval
6264 89% - progn
6264 89% - let
6257 89% - progn
6257 89% - let*
6247 89% - let
6247 89% - while
6247 89% - let
3680 52% - save-current-buffer
3678 52% - while
3662 52% - end-of-defun
2494 35% - beginning-of-defun-raw
2392 34% - syntax-ppss
1 0% #<compiled 0x8a30a7d371919be>
1107 15% - #<compiled 0x1f5ce039ca16>
1084 15% forward-sexp
7 0% #<compiled -0x1367a2fd14e17470>
1 0% not
2553 36% - setq
2553 36% - find-file-noselect
1962 28% - find-file-noselect-1
1583 22% - after-find-file
1493 21% - run-hooks
1493 21% - vc-refresh-state
650 9% - vc-backend
650 9% - vc-registered
648 9% - mapc
648 9% - #<compiled 0x97a1a3d44aacb78>
648 9% - vc-call-backend
648 9% - apply
340 4% - vc-git-registered
157 2% - cd
151 2% - locate-file
150 2% - locate-file-internal
150 2% #<compiled -0x52006ec4d330c6b>
6 0% cd-absolute
77 1% file-relative-name
59 0% - vc-git--out-ok
59 0% - apply
59 0% - vc-git--call
59 0% - apply
59 0% - process-file
59 0% - apply
1 0% call-process
28 0% - vc-git-root
28 0% - vc-find-root
28 0% - locate-dominating-file
1 0% abbreviate-file-name
19 0% - if
19 0% - progn
16 0% - load
10 0% - require
3 0% - byte-code
2 0% require
1 0% - byte-code
1 0% require
2 0% - vc-git-registered
1 0% - vc-git-root
1 0% - vc-find-root
1 0% - locate-dominating-file
1 0% abbreviate-file-name
1 0% - vc-git--out-ok
1 0% - apply
1 0% - vc-git--call
1 0% - apply
1 0% - process-file
1 0% apply
252 3% - vc-rcs-registered
252 3% - vc-default-registered
252 3% - vc-check-master-templates
252 3% - mapcar
252 3% #<compiled -0x14b119dcda574f9a>
24 0% - vc-bzr-registered
24 0% - if
24 0% - vc-find-root
24 0% - locate-dominating-file
2 0% abbreviate-file-name
17 0% - vc-svn-registered
17 0% - let
17 0% - if
17 0% - vc-find-root
17 0% - locate-dominating-file
6 0% abbreviate-file-name
6 0% - vc-cvs-registered
6 0% if
3 0% - vc-src-registered
3 0% - vc-default-registered
3 0% - vc-check-master-templates
3 0% - mapcar
3 0% #<compiled 0x9df477c7900869f>
3 0% - vc-mtn-registered
3 0% - if
3 0% - vc-find-root
3 0% - locate-dominating-file
1 0% abbreviate-file-name
2 0% - vc-sccs-registered
2 0% - vc-default-registered
2 0% - vc-check-master-templates
2 0% - mapcar
2 0% #<compiled -0x162bb36be296685a>
1 0% - vc-hg-registered
1 0% - if
1 0% - vc-find-root
1 0% locate-dominating-file
1 0% vc-file-getprop
556 7% - vc-mode-line
358 5% - vc-call-backend
358 5% - apply
358 5% - vc-git-mode-line-string
264 3% - vc-working-revision
264 3% - vc-call-backend
264 3% - apply
264 3% - vc-git-working-revision
264 3% - vc-git--rev-parse
264 3% - vc-git--out-ok
264 3% - apply
264 3% - vc-git--call
264 3% - apply
264 3% - process-file
264 3% apply
94 1% - vc-git--symbolic-ref
93 1% - vc-git--run-command-string
93 1% - apply
93 1% - vc-git--out-ok
93 1% - apply
93 1% - vc-git--call
93 1% - apply
93 1% - process-file
93 1% apply
286 4% - vc-call-backend
286 4% - apply
286 4% - vc-git-find-file-hook
286 4% - vc-state
286 4% - vc-state-refresh
286 4% - vc-call-backend
286 4% - apply
286 4% - vc-git-state
286 4% - apply
286 4% - vc-git--run-command-string
167 2% file-relative-name
118 1% - apply
118 1% - vc-git--out-ok
118 1% - apply
116 1% - vc-git--call
116 1% - apply
112 1% - process-file
112 1% apply
1 0% generate-new-buffer
1 0% vc-file-clearprops
62 0% - normal-mode
60 0% - set-auto-mode
60 0% - set-auto-mode--apply-alist
27 0% - set-auto-mode-0
27 0% - emacs-lisp-mode
24 0% - run-mode-hooks
16 0% - hack-local-variables
12 0% - hack-local-variables-prop-line
11 0% - set-auto-mode-1
11 0% - inhibit-local-variables-p
1 0% file-name-sans-versions
2 0% - hack-local-variables--find-variables
1 0% - #<compiled -0x1c1d2016f82fdd9b>
1 0% kill-buffer
8 0% - run-hooks
7 0% - global-font-lock-mode-enable-in-buffers
6 0% - turn-on-font-lock-if-desired
6 0% - turn-on-font-lock
6 0% - font-lock-mode
6 0% - font-lock-default-function
6 0% - font-lock-mode-internal
5 0% - font-lock-turn-on-thing-lock
3 0% - jit-lock-register
3 0% - jit-lock-mode
1 0% jit-lock-refontify
1 0% remove-hook
1 0% - font-lock-set-defaults
1 0% - font-lock-add-keywords
1 0% font-lock-remove-keywords
1 0% - global-eldoc-mode-enable-in-buffers
1 0% - turn-on-eldoc-mode
1 0% - eldoc-mode
1 0% run-hooks
2 0% - lisp-data-mode
2 0% - prog-mode
1 0% - kill-all-local-variables
1 0% global-eldoc-mode-cmhh
8 0% assoc-default
2 0% - font-lock-mode
2 0% - font-lock-default-function
2 0% - font-lock-mode-internal
2 0% - font-lock-turn-on-thing-lock
1 0% - jit-lock-register
1 0% - jit-lock-mode
1 0% jit-lock-refontify
67 0% - file-truename
57 0% - file-truename
50 0% - file-truename
35 0% - file-truename
20 0% - file-truename
10 0% file-truename
11 0% - insert-file-contents
11 0% - set-auto-coding
11 0% - find-auto-coding
10 0% auto-coding-alist-lookup
5 0% abbreviate-file-name
286 4% - find-buffer-visiting
23 0% - file-truename
18 0% - file-truename
11 0% - file-truename
10 0% - file-truename
7 0% - file-truename
2 0% file-truename
3 0% abbreviate-file-name
254 3% abbreviate-file-name
28 0% - file-truename
15 0% - file-truename
12 0% - file-truename
7 0% - file-truename
5 0% - file-truename
3 0% file-truename
4 0% - create-file-buffer
4 0% - apply
4 0% - uniquify--create-file-buffer-advice
3 0% - uniquify-rationalize-file-buffer-names
1 0% - uniquify-rationalize
1 0% uniquify-rationalize-a-list
7 0% - message
7 0% - float-time
3 0% - time-since
3 0% - byte-code
1 0% require
1 0% - elisp--preceding-sexp
1 0% forward-sexp
7 0% - previous-line
7 0% - line-move
4 0% line-move-visual
7 0% - execute-extended-command
7 0% - command-execute
7 0% - call-interactively
7 0% - funcall-interactively
7 0% profiler-report
4 0% - next-line
4 0% - line-move
2 0% line-move-visual
1 0% - default-line-height
1 0% default-font-height
1 0% - move-end-of-line
1 0% - line-move
1 0% line-move-1
159 2% - byte-code
159 2% - read-extended-command
159 2% - completing-read
159 2% - completing-read-default
36 0% - read-from-minibuffer
15 0% - command-execute
15 0% - call-interactively
15 0% - funcall-interactively
15 0% - minibuffer-complete
15 0% - completion-in-region
15 0% - completion--in-region
15 0% - #<compiled -0x1b9ffa9feb95062>
15 0% - apply
15 0% - #<compiled 0xdedd3f31b64fd0>
15 0% - completion--in-region-1
15 0% - completion--do-completion
7 0% - completion-try-completion
7 0% - completion--nth-completion
7 0% - completion--some
7 0% - #<compiled 0x1b6e37e38eac17b5>
7 0% - completion-basic-try-completion
7 0% - try-completion
7 0% - #<compiled 0x523b6c540a44927>
7 0% complete-with-action
7 0% - minibuffer-completion-help
4 0% - temp-buffer-window-show
4 0% - display-buffer
4 0% - display-buffer-at-bottom
3 0% - window--display-buffer
2 0% fit-window-to-buffer
1 0% - #<compiled -0x189b606b4eedbb15>
1 0% - display-completion-list
1 0% - run-hooks
1 0% - completion-setup-function
1 0% substitute-command-keys
1 0% - walk-window-tree
1 0% - walk-window-tree-1
1 0% - #<compiled -0xc246f5dbd4eb22b>
1 0% window-in-direction
3 0% - completion-all-completions
3 0% - completion--nth-completion
3 0% - completion--some
3 0% - #<compiled 0xaf1c20e12870063>
3 0% - completion-basic-all-completions
3 0% - completion-pcm--all-completions
3 0% - all-completions
3 0% - #<compiled 0x523b6c540a44927>
3 0% complete-with-action
1 0% - minibuffer-hide-completions
1 0% - bury-buffer
1 0% - window--delete
1 0% delete-window
522 7% + ...
12 0% + timer-event-handler
5 0% + redisplay_internal (C function)
[-- Attachment #3: fast case --]
[-- Type: text/plain, Size: 16803 bytes --]
6199 91% - command-execute
6199 91% - call-interactively
6066 89% - funcall-interactively
6040 88% - eval-print-last-sexp
6040 88% - eval-last-sexp
6040 88% - elisp--eval-last-sexp
6034 88% - eval
6034 88% - progn
6034 88% - let
6028 88% - progn
6028 88% - let*
6016 88% - let
6016 88% - while
6016 88% - let
3547 52% - save-current-buffer
3546 52% - while
3539 52% - end-of-defun
2440 35% - beginning-of-defun-raw
2334 34% - syntax-ppss
1 0% #<compiled 0x8a3336d7832903e>
1033 15% - #<compiled 0x1f5ce1910a16>
1009 14% forward-sexp
5 0% #<compiled -0x1367a2fddcb57470>
2453 36% - setq
2453 36% - find-file-noselect
1864 27% - find-file-noselect-1
1486 21% - after-find-file
1396 20% - run-hooks
1396 20% - vc-refresh-state
640 9% - vc-backend
640 9% - vc-registered
638 9% - mapc
638 9% - #<compiled 0x97a6b2bf5b90b78>
638 9% - vc-call-backend
638 9% - apply
338 4% - vc-git-registered
168 2% - cd
165 2% - locate-file
164 2% - locate-file-internal
164 2% #<compiled -0x52006ec4d330c6b>
3 0% cd-absolute
68 1% file-relative-name
49 0% - vc-git--out-ok
49 0% - apply
49 0% - vc-git--call
49 0% - apply
49 0% - process-file
49 0% apply
33 0% - vc-git-root
33 0% - vc-find-root
33 0% - locate-dominating-file
2 0% abbreviate-file-name
18 0% - if
18 0% - progn
17 0% - load
9 0% - require
4 0% - byte-code
2 0% require
1 0% - byte-code
1 0% require
1 0% - vc-git-registered
1 0% - vc-git--out-ok
1 0% - apply
1 0% - vc-git--call
1 0% - apply
1 0% - process-file
1 0% apply
1 0% - #<compiled -0x1c1ed57c55005f9b>
1 0% kill-buffer
257 3% - vc-rcs-registered
257 3% - vc-default-registered
256 3% - vc-check-master-templates
256 3% - mapcar
256 3% #<compiled -0x117f5e38d4b1020e>
19 0% - vc-svn-registered
19 0% - let
19 0% - if
19 0% - vc-find-root
19 0% - locate-dominating-file
8 0% abbreviate-file-name
11 0% - vc-bzr-registered
11 0% - if
11 0% - vc-find-root
11 0% locate-dominating-file
5 0% - vc-sccs-registered
5 0% - vc-default-registered
5 0% - vc-check-master-templates
5 0% - mapcar
5 0% #<compiled 0xc73f4e04c5b42f1>
4 0% - vc-src-registered
4 0% - vc-default-registered
4 0% - vc-check-master-templates
4 0% - mapcar
4 0% #<compiled -0x1827ab73baee87a5>
2 0% - vc-mtn-registered
2 0% - if
2 0% - vc-find-root
2 0% locate-dominating-file
1 0% - vc-cvs-registered
1 0% if
1 0% - vc-hg-registered
1 0% - if
1 0% - vc-find-root
1 0% locate-dominating-file
472 6% - vc-mode-line
338 4% - vc-call-backend
338 4% - apply
338 4% - vc-git-mode-line-string
281 4% - vc-working-revision
281 4% - vc-call-backend
281 4% - apply
281 4% - vc-git-working-revision
281 4% - vc-git--rev-parse
281 4% - vc-git--out-ok
281 4% - apply
281 4% - vc-git--call
281 4% - apply
281 4% - process-file
281 4% apply
56 0% - vc-git--symbolic-ref
55 0% - vc-git--run-command-string
55 0% - apply
55 0% - vc-git--out-ok
55 0% - apply
55 0% - vc-git--call
55 0% - apply
55 0% - process-file
55 0% apply
283 4% - vc-call-backend
283 4% - apply
283 4% - vc-git-find-file-hook
283 4% - vc-state
283 4% - vc-state-refresh
283 4% - vc-call-backend
283 4% - apply
283 4% - vc-git-state
281 4% - apply
280 4% - vc-git--run-command-string
178 2% - apply
177 2% - vc-git--out-ok
177 2% - apply
177 2% - vc-git--call
177 2% - apply
173 2% - process-file
172 2% apply
102 1% file-relative-name
1 0% - vc-git--program-version
1 0% - vc-git--run-command-string
1 0% - apply
1 0% - vc-git--out-ok
1 0% - apply
1 0% - vc-git--call
1 0% - apply
1 0% - process-file
1 0% apply
1 0% version<=
56 0% - normal-mode
52 0% - set-auto-mode
52 0% - set-auto-mode--apply-alist
25 0% - set-auto-mode-0
25 0% - emacs-lisp-mode
16 0% - run-mode-hooks
13 0% - hack-local-variables
9 0% - hack-local-variables-prop-line
6 0% - set-auto-mode-1
5 0% inhibit-local-variables-p
2 0% file-remote-p
3 0% - run-hooks
3 0% - global-font-lock-mode-enable-in-buffers
3 0% - turn-on-font-lock-if-desired
3 0% - turn-on-font-lock
3 0% - font-lock-mode
3 0% - font-lock-default-function
3 0% - font-lock-mode-internal
3 0% - font-lock-turn-on-thing-lock
3 0% - jit-lock-register
2 0% - jit-lock-mode
1 0% add-hook
7 0% - lisp-data-mode
4 0% - prog-mode
2 0% add-hook
1 0% kill-all-local-variables
2 0% lisp-mode-variables
1 0% add-hook
8 0% assoc-default
4 0% - font-lock-mode
4 0% - font-lock-default-function
3 0% - font-lock-mode-internal
1 0% - font-lock-turn-on-thing-lock
1 0% jit-lock-register
1 0% - add-hook
1 0% - sort
1 0% #<compiled -0x6178706b98d8672>
71 1% - file-truename
55 0% - file-truename
47 0% - file-truename
34 0% - file-truename
21 0% - file-truename
11 0% file-truename
10 0% - insert-file-contents
10 0% - set-auto-coding
10 0% - find-auto-coding
9 0% auto-coding-alist-lookup
1 0% sgml-html-meta-auto-coding-function
4 0% abbreviate-file-name
295 4% - find-buffer-visiting
25 0% - file-truename
16 0% - file-truename
9 0% - file-truename
5 0% - file-truename
1 0% - file-truename
1 0% file-truename
2 0% abbreviate-file-name
256 3% abbreviate-file-name
24 0% - file-truename
17 0% - file-truename
10 0% - file-truename
7 0% - file-truename
4 0% - file-truename
3 0% file-truename
1 0% - create-file-buffer
1 0% - apply
1 0% - uniquify--create-file-buffer-advice
1 0% uniquify-rationalize-file-buffer-names
1 0% - kill-buffer
1 0% process-kill-buffer-query-function
6 0% - message
6 0% - float-time
4 0% - time-since
3 0% - byte-code
1 0% require
3 0% - elisp--preceding-sexp
3 0% forward-sexp
12 0% - minibuffer-complete
12 0% - completion-in-region
12 0% - completion--in-region
12 0% - #<compiled -0x1b9ffa9f1839062>
12 0% - apply
12 0% - #<compiled 0xde9be983a24fd0>
12 0% - completion--in-region-1
12 0% - completion--do-completion
8 0% - minibuffer-completion-help
5 0% - temp-buffer-window-show
5 0% - display-buffer
5 0% - display-buffer-at-bottom
4 0% - window--display-buffer
3 0% - #<compiled -0x189b60680cedbb15>
2 0% - display-completion-list
2 0% - run-hooks
2 0% - completion-setup-function
1 0% substitute-command-keys
1 0% - read-extended-command--affixation
1 0% - mapcar
1 0% #<compiled 0x589b0a2756da0d7>
1 0% fit-window-to-buffer
1 0% - split-window-no-error
1 0% split-window
3 0% - completion-all-completions
3 0% - completion--nth-completion
3 0% - completion--some
3 0% - #<compiled 0x1e98a616a148b8c2>
3 0% - completion-basic-all-completions
3 0% - completion-pcm--all-completions
3 0% - all-completions
3 0% - #<compiled 0x52202314d904927>
3 0% complete-with-action
4 0% - completion-try-completion
4 0% - completion--nth-completion
4 0% - completion--some
4 0% - #<compiled 0x1e98a616b048b8c2>
4 0% - completion-basic-try-completion
4 0% - try-completion
4 0% - #<compiled 0x52202314d904927>
4 0% complete-with-action
8 0% - execute-extended-command
8 0% - command-execute
8 0% - call-interactively
8 0% - funcall-interactively
8 0% profiler-report
6 0% - previous-line
6 0% - line-move
5 0% line-move-visual
133 1% - byte-code
133 1% - read-extended-command
133 1% - completing-read
133 1% - completing-read-default
23 0% read-from-minibuffer
545 8% + ...
38 0% + timer-event-handler
5 0% + redisplay_internal (C function)
1 0% + jit-lock--antiblink-post-command
next prev parent reply other threads:[~2023-10-05 13:56 UTC|newest] Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-09-13 6:47 bug#65908: 29.1.50; Emacs 29 regresses on macOS Zhang Haijun 2023-10-04 5:44 ` Gerd Möllmann 2023-10-04 7:38 ` Eli Zaretskii 2023-10-04 7:50 ` Gerd Möllmann 2023-10-04 8:29 ` Stefan Kangas 2023-10-04 8:32 ` Gerd Möllmann 2023-10-04 9:02 ` Gregory Heytings 2023-10-04 9:12 ` Gerd Möllmann 2023-10-04 9:12 ` Stefan Kangas 2023-10-04 10:55 ` Gerd Möllmann 2023-10-04 12:43 ` Gerd Möllmann 2023-10-04 21:16 ` Alan Third 2023-10-05 5:41 ` Eli Zaretskii 2023-10-05 5:55 ` Gerd Möllmann 2023-10-05 6:08 ` Eli Zaretskii 2023-10-05 8:52 ` Gerd Möllmann 2023-10-05 9:48 ` Alan Third 2023-10-05 11:12 ` Gerd Möllmann 2023-10-05 13:18 ` Gerd Möllmann 2023-10-05 16:11 ` Eli Zaretskii 2023-10-05 16:33 ` Alan Third 2023-10-05 16:38 ` Gerd Möllmann 2023-10-05 17:02 ` Eli Zaretskii 2023-10-05 17:15 ` Alan Third 2023-10-05 13:51 ` Alan Third 2023-10-05 14:01 ` Gerd Möllmann 2023-10-05 14:09 ` Gerd Möllmann 2023-10-05 14:58 ` Alan Third 2023-10-05 15:11 ` Gerd Möllmann 2023-10-05 16:29 ` Eli Zaretskii 2023-10-05 16:39 ` Gerd Möllmann 2023-10-05 17:06 ` Eli Zaretskii 2023-10-05 18:08 ` Stefan Kangas 2023-10-05 13:56 ` Gerd Möllmann [this message] 2023-10-05 16:19 ` Eli Zaretskii 2023-10-05 16:26 ` Alan Third 2023-10-05 16:43 ` Gerd Möllmann 2023-10-05 16:36 ` Gerd Möllmann 2023-10-05 17:04 ` Eli Zaretskii 2023-10-05 17:15 ` Gerd Möllmann 2023-10-05 18:25 ` Alan Third 2023-10-05 18:33 ` Gerd Möllmann 2023-10-05 18:46 ` Gerd Möllmann 2023-10-05 8:58 ` Gregory Heytings 2023-10-05 9:03 ` Gregory Heytings
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style List information: https://www.gnu.org/software/emacs/ * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=m2cyxtp404.fsf@Pro.fritz.box \ --to=gerd.moellmann@gmail.com \ --cc=65908@debbugs.gnu.org \ --cc=alan@idiocy.org \ --cc=ccsmile2008@outlook.com \ --cc=eliz@gnu.org \ --cc=gregory@heytings.org \ --cc=stefankangas@gmail.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).