From: Konstantin Kharlamov <hi-angel@yandex.ru>
To: Dmitry Gutov <dgutov@yandex.ru>, ndame <ndame@protonmail.com>,
Emacs developers <emacs-devel@gnu.org>
Subject: Re: What is the most useful potential feature which Emacs lacks? A: Autocompletion
Date: Wed, 03 Jun 2020 17:40:30 +0300 [thread overview]
Message-ID: <e0a1ff2bff755f66407a2192dc31fc38f0bf32d9.camel@yandex.ru> (raw)
In-Reply-To: <701b151d-2133-7916-3169-5d0f29cf3bb8@yandex.ru>
On Wed, 2020-06-03 at 17:21 +0300, Dmitry Gutov wrote:
> On 03.06.2020 16:59, Konstantin Kharlamov wrote:
>
> > I am not sure why you say it seems wasteful. Do you mean perhaps,
> > as
> > opposed to setting, say, 100ms?
>
> Or 50ms, maybe.
>
> Wasteful of CPU cycles and laptop battery, I'd say. Of course, the
> exact
> impact depends on the size of your project.
>
> > 100ms I think is the top limit this
> > timeout should be set.
>
> The defaults are not set in stone, we can discuss changing them on
> the
> company issue tracker. But it's a balancing act. Set the value too
> small
> -- and the result is more likely to annoy people who don't rely on
> the
> popup as much.
>
> > I just tested how quickly I can type a string
> > "prog". I fired up `libinput debug-events` and tried to type
> > "prog". The letter "g" says "+0.256s", i.e. it took 256ms. This
> > means
> > even if I set to 100ms, there's high chance I won't get any
> > autocompletion.
>
> Should I take this to mean the completion request itself took 156ms
> to
> finish?
I mean, I was typing outside Emacs, in the same terminal where
`libinput debug-events` was running. I was just testing how fast I can
type, to figure out how small the timeout should be set if I want a
completion to pop up.
> > > To be 100% sure, you should try it yourself (I don't do C/C++).
> > > Maybe
> > > someone else here can testify, though.
> >
> > Thank you! Indeed, I confirm this does seem to work with an async
> > backend. I tested it as follows:
> >
> > 1. Opened a test.cpp file, enabled company-irony, checked that
> > completion works.
> > 2. I set `(setq company-idle-delay 0)`
> > 3. I paused the irony-server process with `kill -SIGSTOP $(pidof
> > irony-server)`
> > 4. I tried typing a gibberish to see if I get any delay in
> > rendering a
> > text.
> >
> > I don't see any lags, so I assume using an async backend with the
> > timeout set to 0 should work fine.
>
> Indeed, that's what asynchronous means. But the quality of the user
> experience also depends on how quickly the backing server can handle
> those requests.
Well, I paused the backing server in the steps above, so server
couldn't answer. This was emulating a behaviour where a user works with
a project too big for backend to return a completion immediately.
Expected behaviour was that I should not get any lags while typing, and
there were no lags.
> > This is great news! I wonder if
> > company mode should default to zero or so timeout, and print a
> > warning
> > if somebody tries to connect a non-async backend?
>
> The majority of backends are synchronous. And the "standard"
> completion
> API for Emacs (which we want to integrate with) still only supports
> the
> synchronous convention.
I am a bit confused by the last sentence. What's the relation between
the Emacs API and already working company-mode? Did you mean, company-
mode is trying to be compatible with backends for some standard Emacs
API, and those can't be async?
next prev parent reply other threads:[~2020-06-03 14:40 UTC|newest]
Thread overview: 157+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-11 20:09 What is the most useful potential feature which Emacs lacks? ndame
2020-05-12 6:57 ` Arthur Miller
2020-05-12 7:13 ` ndame
2020-05-12 12:54 ` Stefan Kangas
2020-05-12 13:07 ` ndame
2020-05-12 14:56 ` Arthur Miller
2020-05-13 0:39 ` HaiJun Zhang
2020-05-13 1:34 ` Eduardo Ochs
2020-05-13 1:50 ` Eduardo Ochs
2020-05-12 10:00 ` H. Dieter Wilhelm
2020-05-12 11:10 ` Michael Albinus
2020-05-13 3:55 ` Richard Stallman
2020-05-13 10:32 ` Michael Albinus
2020-05-14 5:11 ` Richard Stallman
2020-05-14 10:34 ` Michael Albinus
2020-05-15 3:25 ` Richard Stallman
2020-05-15 8:15 ` Michael Albinus
2020-05-16 4:18 ` Richard Stallman
2020-05-16 22:07 ` H. Dieter Wilhelm
2020-05-18 3:45 ` Richard Stallman
2020-05-18 8:05 ` Tramp and crypted files (was: What is the most useful potential feature which Emacs lacks?) Michael Albinus
2020-05-19 4:01 ` Richard Stallman
2020-05-19 14:38 ` Tramp and crypted files Michael Albinus
2020-05-20 4:00 ` Richard Stallman
2020-05-19 8:51 ` Deus Max
2020-05-19 14:48 ` Michael Albinus
2020-05-20 8:27 ` Deus Max
2020-05-20 8:49 ` Michael Albinus
2020-05-20 17:49 ` Deus Max
2020-05-20 19:09 ` Michael Albinus
2020-05-25 18:48 ` Michael Albinus
2020-05-26 4:13 ` Richard Stallman
2020-05-26 7:13 ` Michael Albinus
2020-05-27 3:09 ` Richard Stallman
2020-05-28 13:05 ` Deus Max
2020-05-29 9:16 ` Michael Albinus
2020-05-29 16:33 ` Deus Max
2020-06-07 15:08 ` Michael Albinus
2020-06-13 12:06 ` Deus Max
2020-06-13 13:15 ` Michael Albinus
2020-05-29 18:22 ` Deus Max
2020-05-17 8:28 ` What is the most useful potential feature which Emacs lacks? Michael Albinus
2020-05-12 11:57 ` Eric S Fraga
2020-05-12 15:34 ` Michael Albinus
2020-05-12 16:33 ` Eric S Fraga
2020-05-12 17:39 ` Tramp nextcloud (was: What is the most useful potential feature which Emacs lacks?) Michael Albinus
2020-05-12 18:12 ` Tramp nextcloud H. Dieter Wilhelm
2020-05-13 8:59 ` Eric S Fraga
2020-05-13 9:33 ` Tramp nextcloud (SOLVED) Eric S Fraga
2020-05-13 10:45 ` Michael Albinus
2020-05-13 11:10 ` Eric S Fraga
2020-05-12 15:04 ` What is the most useful potential feature which Emacs lacks? Arthur Miller
2020-05-12 16:00 ` Drew Adams
2020-05-12 12:30 ` Helmut Eller
2020-05-13 1:22 ` Jose A. Ortega Ruiz
[not found] ` <5AYrQ3kvagEiLsXcUuMZvkDj1gBHT4YnJyVCX6RsvMkayS1ZbGWk18lJOyo_m8XanhsUygUtEqZw8OOOQOlwkg==@protonmail.internalid>
2020-05-13 2:45 ` Stefan Monnier
2020-05-13 3:58 ` jao
2020-05-13 23:12 ` João Távora
2020-05-14 0:04 ` Stefan Kangas
2020-05-14 10:08 ` Helmut Eller
2020-05-14 10:17 ` tomas
2020-05-14 10:34 ` Robert Pluim
2020-05-14 10:40 ` tomas
2020-05-15 3:25 ` Richard Stallman
2020-05-15 3:39 ` Dmitry Gutov
2020-05-15 3:25 ` Richard Stallman
2020-05-15 3:51 ` Dmitry Gutov
2020-05-16 4:18 ` Richard Stallman
2020-05-16 9:29 ` Dmitry Gutov
2020-05-17 2:55 ` Richard Stallman
2020-05-15 3:17 ` Richard Stallman
2020-05-15 6:56 ` Eli Zaretskii
2020-05-16 4:18 ` Richard Stallman
2020-05-16 7:13 ` Eli Zaretskii
2020-05-16 12:56 ` Stefan Monnier
2020-05-17 2:56 ` Richard Stallman
2020-05-17 7:22 ` Andreas Schwab
2020-05-18 3:42 ` Richard Stallman
2020-05-18 14:29 ` Eli Zaretskii
2020-05-19 3:56 ` shr.el rename? Richard Stallman
2020-05-19 5:50 ` Drew Adams
2020-05-19 12:41 ` Lars Ingebrigtsen
2020-05-19 15:04 ` Stefan Monnier
2020-05-19 16:47 ` T.V Raman
2020-05-20 3:59 ` Richard Stallman
2020-05-20 4:02 ` Richard Stallman
2020-05-18 15:20 ` What is the most useful potential feature which Emacs lacks? Filipp Gunbin
2020-05-18 15:26 ` Eli Zaretskii
2020-05-15 9:10 ` Robert Pluim
2020-05-15 10:21 ` Eli Zaretskii
2020-05-15 11:07 ` Robert Pluim
2020-05-15 11:28 ` Eli Zaretskii
2020-05-15 11:49 ` Robert Pluim
2020-05-15 11:58 ` Eli Zaretskii
2020-05-15 12:14 ` Robert Pluim
2020-05-15 12:56 ` Eli Zaretskii
2020-05-15 15:22 ` Stefan Monnier
2020-05-15 15:28 ` Robert Pluim
2020-05-16 4:18 ` Richard Stallman
2020-05-16 4:17 ` Richard Stallman
2020-05-16 6:50 ` Andreas Schwab
2020-05-16 8:24 ` Yuri Khan
2020-05-17 2:56 ` Richard Stallman
2020-05-14 11:57 ` Dmitry Gutov
2020-05-12 12:44 ` Christopher Lemmer Webber
2020-05-13 16:36 ` Karl Fogel
2020-05-14 3:01 ` Christopher Lemmer Webber
2020-05-14 4:08 ` Karl Fogel
2020-05-14 10:01 ` Robert Pluim
2020-05-14 16:35 ` Christopher Lemmer Webber
2020-05-17 1:31 ` Dmitry Gutov
2020-05-18 3:43 ` Richard Stallman
2020-05-15 3:16 ` Richard Stallman
2020-05-28 4:00 ` Karl Fogel
2020-05-28 13:18 ` Stefan Monnier
2020-05-28 17:19 ` Karl Fogel
2020-05-28 18:05 ` Drew Adams
2020-05-28 18:45 ` Dmitry Gutov
2020-05-28 20:52 ` Alan Third
2020-05-28 21:02 ` Stefan Monnier
2020-05-28 21:10 ` Alan Third
2020-05-28 21:27 ` andres.ramirez
2020-05-28 21:54 ` Stefan Monnier
2020-05-29 13:24 ` Arthur Miller
2020-05-28 21:14 ` Joost Kremers
2020-05-29 13:24 ` Arthur Miller
2020-05-29 1:24 ` Karl Fogel
2020-05-29 3:36 ` Drew Adams
2020-05-29 3:06 ` Richard Stallman
2020-05-29 3:41 ` Drew Adams
2020-05-29 13:19 ` Arthur Miller
2020-05-30 5:23 ` Thibaut Verron
2020-05-29 13:11 ` Arthur Miller
2020-05-13 17:48 ` ndame
2020-05-14 1:15 ` Arthur Miller
2020-05-14 4:10 ` ndame
2020-05-14 4:28 ` Arthur Miller
2020-05-15 10:38 ` Eli Zaretskii
2020-05-17 5:37 ` ndame
2020-05-17 12:42 ` Stefan Kangas
2020-05-17 13:18 ` Arthur Miller
2020-05-19 3:47 ` Richard Stallman
2020-05-17 22:03 ` chad
2020-05-13 21:05 ` Vasilij Schneidermann
2020-05-14 14:35 ` Björn Lindqvist
2020-06-03 11:39 ` What is the most useful potential feature which Emacs lacks? A: Autocompletion Konstantin Kharlamov
2020-06-03 12:36 ` Dmitry Gutov
2020-06-03 12:50 ` Konstantin Kharlamov
2020-06-03 13:10 ` Dmitry Gutov
2020-06-03 13:59 ` Konstantin Kharlamov
2020-06-03 14:21 ` Dmitry Gutov
2020-06-03 14:40 ` Konstantin Kharlamov [this message]
2020-06-03 18:49 ` Dmitry Gutov
2020-06-03 14:49 ` Drew Adams
2020-06-03 20:15 ` Konstantin Kharlamov
2020-06-03 20:36 ` Drew Adams
2020-06-03 20:49 ` Drew Adams
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=e0a1ff2bff755f66407a2192dc31fc38f0bf32d9.camel@yandex.ru \
--to=hi-angel@yandex.ru \
--cc=dgutov@yandex.ru \
--cc=emacs-devel@gnu.org \
--cc=ndame@protonmail.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: 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).