From: "João Távora" <joaotavora@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: monnier@iro.umontreal.ca, drew.adams@oracle.com, emacs-devel@gnu.org
Subject: Re: Add user customization fido-completion-styles
Date: Tue, 02 Jun 2020 21:00:06 +0100 [thread overview]
Message-ID: <878sh5w855.fsf@gmail.com> (raw)
In-Reply-To: <83eeqxclrx.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 02 Jun 2020 22:25:54 +0300")
Eli Zaretskii <eliz@gnu.org> writes:
>> From: João Távora <joaotavora@gmail.com>
>> Cc: drew.adams@oracle.com, emacs-devel@gnu.org, monnier@iro.umontreal.ca
>> Date: Tue, 02 Jun 2020 20:11:49 +0100
>>
>> - complete-with-action 1125 75%
>> - cond 1125 75%
>> - funcall 1125 75%
>> - all-completions 24 1%
>> #<compiled 0x15809d82b069> 15 1%
>
> This looks like funcall takes most of the time, so it's important to
> understand which function is being called here.
I think it's something in simple.el, given as the profile changes
completely once I load that file versus loading simple.elc.
>> - completion-pcm--all-completions 1209 78%
>> - all-completions 1209 78%
>> - #<lambda -0x5acbf46d069cde1> 318 20%
>> - let 318 20%
>> - complete-with-action 318 20%
>> - all-completions 10 0%
>> - #<lambda -0xded78e903380374> 5 0%
>
> Is this real? all-completions calls some lambda which itself calls
> all-completions?
It might be yes, judging from the docstring, the C implementation of
all-completions, and the evidence we're looking at.
>> - all-completions 5 0%
>> - #<lambda 0x7018618bcc7fc8f> 4 0%
>> - and 4 0%
>> funcall 4 0%
>> + #<lambda 0xf61e0170f96321f> 177 11%
>> + #<lambda 0xf61d91a2f96321f> 172 11%
>> + #<lambda -0x15745e458069cde1> 165 10%
>> + completion-pcm--hilit-commonality 21 1%
>
> What are all those lambda-functions?
No idea. I'd suppose they are the functions who are checking the
predicate against the symbols in obarray, since we want only the symbols
that verify commandp and aren't marked as obsolete.
I've expanded the first two lambdas of the 5 we have in total. I think
that's the amount of types I pressed 'M-x C-g' waiting for the
completions to show up between the M-x and the C-g.
None of this was with an Emacs -Q, though. If I use an Emacs -Q I just
have one of those mysterious lambdas, even if I do do the 'M-x
C-g' multiple times.
- completion--some 111 42%
- #<compiled -0x1ed1f57d... 111 42%
- completion-flex-all-c... 111 42%
- completion-substring... 104 39%
- completion-pcm--all... 103 39%
- all-completions 102 38%
- #<lambda -0x1d5fc... 102 38%
- if 102 38%
- let 102 38%
- complete-with-action 102 38%
- all-completions 8 3%
- #<lambda 0x3... 6 2%
- and 5 1%
Anyway, I'd wait for Stefan to now, or at least for a comparative study
with the other alternatives that reported instantaneous responses to
M-x, since with Emacs -Q we can also get such a response.
Thanks for your help,
João
next prev parent reply other threads:[~2020-06-02 20:00 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-31 21:02 Add user customization fido-completion-styles Andrew Schwartzmeyer
2020-05-31 23:43 ` João Távora
2020-05-31 23:59 ` Dmitry Gutov
2020-06-01 0:21 ` João Távora
2020-06-01 0:37 ` Andrew Schwartzmeyer
2020-06-01 4:37 ` Andrew Schwartzmeyer
2020-06-02 11:14 ` João Távora
2020-06-02 16:14 ` Drew Adams
2020-06-02 17:51 ` João Távora
2020-06-02 18:11 ` Eli Zaretskii
2020-06-02 18:24 ` João Távora
2020-06-02 18:35 ` Eli Zaretskii
2020-06-02 19:11 ` João Távora
2020-06-02 19:25 ` Eli Zaretskii
2020-06-02 20:00 ` João Távora [this message]
2020-06-02 20:51 ` Drew Adams
2020-06-02 15:40 ` Tassilo Horn
2020-06-02 15:55 ` João Távora
2020-06-02 16:47 ` Tassilo Horn
2020-06-02 17:03 ` João Távora
2020-06-02 18:05 ` Tassilo Horn
2020-06-02 17:10 ` Tassilo Horn
2020-06-02 19:28 ` João Távora
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=878sh5w855.fsf@gmail.com \
--to=joaotavora@gmail.com \
--cc=drew.adams@oracle.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
/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 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).