all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Artur Malabarba <bruce.connor.am@gmail.com>
To: Dmitry Gutov <dgutov@yandex.ru>
Cc: emacs-devel <emacs-devel@gnu.org>
Subject: Re: Async package.el
Date: Mon, 6 Apr 2015 15:32:35 +0100	[thread overview]
Message-ID: <CAAdUY-LnCy4PdR7GMPkLmN4dF=2Dcjj63iptMrBZgCyYvh+b-A@mail.gmail.com> (raw)
In-Reply-To: <55228FD2.3080501@yandex.ru>

[-- Attachment #1: Type: text/plain, Size: 2677 bytes --]

Thanks for all the feedback Dmitry,

> One change I've noticed recently, is that the last few times I ran `M-x
> list-packages', it didn't display the "new" packages at the top.
>
> Might that be related to the recent changes?
>
Yes. I'm fixing it now.

>
>>    - For the sake of simplicity, when you hit `x' in the package-menu
>>    you
>>    will no longer get two separate prompts for install/delete. You'll be
>>    prompted a single time for everything.
>>
>>  I think "INSTALL (xxx-y.z) and DELETE (xxx-z.t)" is needlessly verbose.
>> It should probably be "Upgrade (xxx to z.t)", with maybe "and delete the
>> currently installed versions".
>>
>  I agree.

>
>>    - Most functions which involve downloading data now take an extra
>>    optional ASYNC argument (some of them also take an additional
>>    CALLBACK
>>    argument). This defaults to nil. If it is t, any downloads involved
>>    are
>>    performed asynchronously (and, if appropriate, CALLBACK is called
>>    afterwards).
>>
>>  Shouldn't there be some new tests?
>
> Yes. I'm still trying to figure out how to do async tests. Currently all
package.el tests use a local directory as the repository, but the async
functions only kick-in for remote repositories.
Should I use GNU Elpa for the tests? Might that cause hydra to unexpectedly
complain due to random connection issues?

> I have to say that package upgrading being only partially asynchronous
> looks perplexing. You say yes - it starts downloading stuff in the
> background - I can move around in the buffer, then suddenly the background
> process takes over in a synchronous fashion - I can't move cursor anymore
> and just watch some messages in the echo area. The Compile-Log only pops up
> at the end.
>
> While parallel downloading sounds good, maybe the overall interface should
> still be presented in a synchronous fashion.
>
I agree that's annoying and I have some similar plans. We can change the
package-installation logic to first download all files simultaneously, and
then unpack/compile all of them in the proper order. So large upgrades
would have a significant speed improvement.

>
>>    - Package downloads are performed in sequence, because it is
>>    generally
>>    not safe to do them in parallel
>>
>>  Why not? Simply downloading in parallel should be safe. Maybe not all
> at once, but 2-4 at a time, especially if they come from different
> archives, would be beneficial.
>
> I mis-expressed myself. Package downloads are safe in parallel, what makes
it non-trivial is that the subsequent unpacking/compiling needs to be done
in the right order (curently a package is installed as soon as its download
finishes).

[-- Attachment #2: Type: text/html, Size: 4151 bytes --]

  reply	other threads:[~2015-04-06 14:32 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-06 10:46 Async package.el Artur Malabarba
2015-04-06 13:53 ` Dmitry Gutov
2015-04-06 14:32   ` Artur Malabarba [this message]
2015-04-07  1:19     ` Dmitry Gutov
2015-04-07 21:46       ` Stefan Monnier
2015-04-08  1:49         ` Dmitry Gutov
2015-04-08 13:32           ` Stefan Monnier
2015-04-09  1:49             ` Dmitry Gutov
2015-04-09 14:06               ` raman
2015-04-09 14:22                 ` Rasmus
2015-04-09 14:50                   ` Artur Malabarba
2015-04-09 14:53                     ` Artur Malabarba
2015-04-09 15:19                   ` async message Ivan Shmakov
2015-04-10 14:58                     ` raman
2015-04-10  1:32                   ` Async package.el raman
2015-04-09 18:18                 ` Stefan Monnier
2015-04-10 15:00                   ` raman
2015-04-12  0:46                   ` Artur Malabarba
2015-04-12  3:53                     ` Stefan Monnier
2015-04-07 23:26       ` Artur Malabarba
2015-04-08  2:19         ` Dmitry Gutov
2015-04-08  9:43           ` Artur Malabarba
2015-04-08 16:02             ` Dmitry Gutov
2015-04-08 18:39               ` Artur Malabarba
2015-04-09  2:10                 ` Dmitry Gutov
2015-04-09 10:14                   ` Artur Malabarba
2015-04-09 12:34                     ` Dmitry Gutov
2015-04-12  1:38                       ` Artur Malabarba
2015-04-07  5:31     ` Daiki Ueno
2015-04-07  9:13       ` Dmitry Gutov
2015-04-07  9:59         ` Artur Malabarba
2015-04-07 11:22           ` Robert Pluim
2015-04-07 12:33             ` Artur Malabarba
2015-04-07 14:29               ` Robert Pluim
2015-04-08  2:21                 ` Artur Malabarba
2015-04-07 21:50           ` Stefan Monnier
2015-04-08  5:27           ` Daiki Ueno
2015-04-09  8:38           ` Achim Gratz
2015-04-09 13:09             ` Stefan Monnier
2015-04-07 18:06 ` Stefan Monnier

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='CAAdUY-LnCy4PdR7GMPkLmN4dF=2Dcjj63iptMrBZgCyYvh+b-A@mail.gmail.com' \
    --to=bruce.connor.am@gmail.com \
    --cc=dgutov@yandex.ru \
    --cc=emacs-devel@gnu.org \
    /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.