From: Ihor Radchenko <yantar92@posteo.net>
To: Dmitry Gutov <dmitry@gutov.dev>
Cc: 66117@debbugs.gnu.org
Subject: bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
Date: Fri, 22 Sep 2023 13:38:53 +0000 [thread overview]
Message-ID: <87a5tewcnm.fsf@localhost> (raw)
In-Reply-To: <9d84725f-fd46-ab26-3b54-97cb4cf45e33@gutov.dev>
Dmitry Gutov <dmitry@gutov.dev> writes:
>> However, upon recording the profiler report with that change,
>> `find-buffer-visiting' still took a significant fraction of CPU time.
>> So, I decided to reach out upstream.
>
> Because the rest of the calls are made from Org?
I am not 100% sure what you mean.
> I see this in the profile, though:
>
> 6247 20% - editorconfig--advice-find-file-noselect
>
> There seems to be a lot of timers in that profile, and this is in one of
> them (under "Automatic GC" which takes up 53% of the time).
>
> So one was to improve this in the meantime would be to bring it up with
> "editorconfig" authors. I would even question the wisdom of advising
> find-file-noselect.
Nope. If you dig deeper, you will see that it is an around advice that
later calls the original `find-file-noselect', where we spend most of
the time:
6247 20% - editorconfig--advice-find-file-noselect
6247 20% - let
6247 20% - let
6247 20% - setq
6247 20% - apply
1773 5% - #<lambda -0xd6e9bb25a48132a>
1773 5% - if
1773 5% - if
1773 5% - let*
1773 5% - and
1773 5% + find-buffer-visiting
1666 5% - #<lambda -0xd6e9bb25a48132a>
1666 5% - if
1666 5% - if
1666 5% - let*
1666 5% - and
1666 5% + find-buffer-visiting
1006 3% - #<lambda -0xd6e9bb25a48132a>
1006 3% - if
1006 3% - if
1006 3% - let*
1006 3% - if
1006 3% - setq
1006 3% + create-file-buffer
830 2% - #<lambda -0xd6e9bb25a48132a>
830 2% - if
830 2% - if
830 2% - let*
830 2% - and
830 2% + find-buffer-visiting
776 2% - #<lambda -0xd6e9bb25a48132a>
776 2% - if
776 2% - if
776 2% - let*
776 2% - and
776 2% + find-buffer-visiting
--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
next prev parent reply other threads:[~2023-09-22 13:38 UTC|newest]
Thread overview: 162+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-20 8:53 bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers Ihor Radchenko
2023-09-22 1:36 ` Dmitry Gutov
2023-09-22 11:03 ` Ihor Radchenko
2023-09-22 12:11 ` Dmitry Gutov
2023-09-22 12:41 ` Ihor Radchenko
2023-09-22 12:59 ` Eli Zaretskii
2023-09-22 13:30 ` Ihor Radchenko
2023-09-22 14:57 ` Eli Zaretskii
2023-09-23 8:22 ` Ihor Radchenko
2023-09-23 8:57 ` Eli Zaretskii
2023-09-24 10:54 ` Ihor Radchenko
2023-09-24 12:50 ` Eli Zaretskii
2023-09-26 8:54 ` Ihor Radchenko
2023-09-26 14:18 ` Michael Albinus
2023-10-04 10:57 ` Ihor Radchenko
2023-09-26 11:11 ` Dmitry Gutov
2023-09-26 13:06 ` Ihor Radchenko
2023-09-27 23:30 ` Michael Heerdegen
2023-10-05 14:25 ` Ihor Radchenko
2023-09-29 7:30 ` Eli Zaretskii
2023-09-29 13:56 ` Ihor Radchenko
2023-09-29 16:12 ` Eli Zaretskii
2023-10-03 3:25 ` Michael Heerdegen
2023-10-03 6:00 ` Eli Zaretskii
2023-10-07 8:25 ` Ihor Radchenko
2023-10-07 8:48 ` Eli Zaretskii
2023-10-07 9:29 ` Ihor Radchenko
2023-10-07 10:57 ` Eli Zaretskii
2023-10-07 11:08 ` Ihor Radchenko
2023-10-07 11:24 ` Eli Zaretskii
2023-10-07 11:43 ` Ihor Radchenko
2023-10-07 12:05 ` Eli Zaretskii
2023-10-08 9:00 ` Ihor Radchenko
2023-10-08 9:56 ` Eli Zaretskii
2023-10-09 10:02 ` Ihor Radchenko
2023-10-09 10:16 ` Ihor Radchenko
2023-12-12 14:24 ` Ihor Radchenko
2023-12-12 14:49 ` Eli Zaretskii
2023-12-12 16:33 ` Ihor Radchenko
2023-12-12 17:26 ` Eli Zaretskii
2023-12-12 17:44 ` Ihor Radchenko
2023-12-12 18:36 ` Eli Zaretskii
2023-12-12 19:10 ` Dmitry Gutov
2023-12-12 19:16 ` Eli Zaretskii
2023-12-12 19:18 ` Ihor Radchenko
2023-12-12 19:20 ` Eli Zaretskii
2023-12-12 20:01 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-12 20:47 ` Dmitry Gutov
2023-12-12 22:57 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-12 23:40 ` Dmitry Gutov
2023-12-13 3:50 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-12 23:09 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-12 23:43 ` Ihor Radchenko
2023-12-12 23:47 ` Dmitry Gutov
2023-12-13 3:55 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-13 12:10 ` Eli Zaretskii
2023-12-13 13:06 ` Ihor Radchenko
2023-12-13 13:25 ` Eli Zaretskii
2023-12-13 13:43 ` Ihor Radchenko
2023-12-13 13:51 ` Eli Zaretskii
2023-12-13 14:12 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-13 14:58 ` Eli Zaretskii
2023-12-13 14:32 ` Ihor Radchenko
2023-12-13 15:22 ` Eli Zaretskii
2023-12-14 14:20 ` Ihor Radchenko
2023-12-14 16:40 ` Eli Zaretskii
2023-12-14 17:07 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-14 17:14 ` Eli Zaretskii
2023-12-14 18:11 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-14 18:30 ` Ihor Radchenko
2023-12-14 18:41 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-14 19:02 ` Ihor Radchenko
2023-12-14 19:36 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-15 11:01 ` Ihor Radchenko
2023-12-15 13:47 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-17 6:04 ` Eli Zaretskii
2023-12-17 6:11 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-17 8:30 ` Eli Zaretskii
2023-12-17 10:31 ` Ihor Radchenko
2023-12-17 10:36 ` Eli Zaretskii
2023-12-17 10:46 ` Eli Zaretskii
2023-12-17 10:56 ` Ihor Radchenko
2023-12-17 11:06 ` Eli Zaretskii
2023-12-17 11:19 ` Ihor Radchenko
2023-12-17 12:06 ` Eli Zaretskii
2023-12-19 13:24 ` Ihor Radchenko
2023-12-19 13:38 ` Eli Zaretskii
2023-12-20 20:33 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-21 5:56 ` Gerd Möllmann
2023-12-21 13:25 ` Ihor Radchenko
2023-12-21 13:39 ` Gerd Möllmann
2024-01-01 18:02 ` Ihor Radchenko
2024-01-01 19:39 ` Gerd Möllmann
2024-01-01 20:39 ` Ihor Radchenko
2024-01-02 4:43 ` Gerd Möllmann
2024-01-02 10:52 ` Ihor Radchenko
2024-01-02 11:08 ` Gerd Möllmann
2024-01-02 11:17 ` Ihor Radchenko
2024-01-02 11:48 ` Gerd Möllmann
2024-01-02 12:07 ` Ihor Radchenko
2024-01-02 12:07 ` Gerd Möllmann
2024-01-02 12:15 ` Ihor Radchenko
2024-01-02 12:57 ` Gerd Möllmann
2024-01-02 13:09 ` Ihor Radchenko
2024-01-02 13:28 ` Gerd Möllmann
2024-01-03 14:28 ` Gerd Möllmann
2024-01-02 1:30 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-01-02 11:00 ` Ihor Radchenko
2024-01-02 11:57 ` Gerd Möllmann
2024-01-02 12:11 ` Ihor Radchenko
2024-01-03 2:13 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-01-02 11:08 ` Ihor Radchenko
2024-01-02 14:08 ` Gerd Möllmann
2023-12-17 15:17 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-17 16:02 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-17 10:52 ` Ihor Radchenko
2023-12-17 11:01 ` Eli Zaretskii
2023-12-17 11:26 ` Ihor Radchenko
2023-12-17 12:14 ` Eli Zaretskii
2023-12-17 15:24 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-14 18:49 ` Eli Zaretskii
2023-12-14 19:49 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-14 20:24 ` Eli Zaretskii
2023-12-14 20:57 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-14 21:32 ` Dmitry Gutov
2023-12-14 23:03 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-14 19:15 ` Ihor Radchenko
2023-12-14 19:56 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-15 10:19 ` Ihor Radchenko
2023-10-08 11:16 ` Dmitry Gutov
2023-10-08 11:25 ` Ihor Radchenko
2023-10-08 11:44 ` Eli Zaretskii
2023-10-08 12:10 ` Ihor Radchenko
2023-10-08 12:28 ` Dmitry Gutov
2023-10-08 12:11 ` Dmitry Gutov
2023-10-08 12:20 ` Ihor Radchenko
2023-10-09 0:48 ` Dmitry Gutov
2023-12-23 8:54 ` Eli Zaretskii
2023-12-23 9:41 ` Ihor Radchenko
2023-12-23 11:16 ` Eli Zaretskii
2023-12-23 11:28 ` Ihor Radchenko
2023-12-23 11:51 ` Eli Zaretskii
2023-12-23 14:30 ` Ihor Radchenko
2023-12-30 7:39 ` Eli Zaretskii
2023-12-29 7:47 ` Eli Zaretskii
2023-12-29 13:55 ` Ihor Radchenko
2023-12-30 8:08 ` Eli Zaretskii
2023-12-30 9:50 ` Eli Zaretskii
2023-12-30 10:10 ` Eli Zaretskii
2023-12-30 10:39 ` Ihor Radchenko
2023-12-30 11:07 ` Eli Zaretskii
2023-12-30 12:51 ` Ihor Radchenko
2023-12-30 13:24 ` Eli Zaretskii
2024-01-01 17:11 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-09-22 13:02 ` Dmitry Gutov
2023-09-22 13:10 ` Eli Zaretskii
2023-09-22 13:38 ` Ihor Radchenko [this message]
2023-09-22 13:45 ` Dmitry Gutov
2023-10-04 10:58 ` Ihor Radchenko
2023-10-04 11:46 ` Dmitry Gutov
2023-10-05 11:27 ` Ihor Radchenko
2023-10-05 17:14 ` Dmitry Gutov
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87a5tewcnm.fsf@localhost \
--to=yantar92@posteo.net \
--cc=66117@debbugs.gnu.org \
--cc=dmitry@gutov.dev \
/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: link
Be 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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.