unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Artur Malabarba <bruce.connor.am@gmail.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: 19390@debbugs.gnu.org, Dmitry Gutov <dgutov@yandex.ru>
Subject: bug#19390: 25.0.50; `package-activate' is too slow
Date: Fri, 19 Dec 2014 10:08:08 -0200	[thread overview]
Message-ID: <CAAdUY-+x-zzPpPTPkiNmT=LBYxpjSEXVOm6PRrCNkfa4tfAkYw@mail.gmail.com> (raw)
In-Reply-To: <jwvd27gi7uw.fsf-monnier+emacsbugs@gnu.org>

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

On 19 Dec 2014 02:31, "Stefan Monnier" <monnier@iro.umontreal.ca> wrote:
>
> > `require' is only ever called as part of loading package (or doing
> > some other processing).
>
> There are a few places where we `require' inside a function that can be
> called repeatedly, on the assumption that in most cases, this `require'
> will be "instantaneous".  I'd rather not re-consider this
> performance choice.
>
> I'm OK with slowing down require like you suggested (that was actually
> my original suggestion to handle the byte-compilation breakage during
> package upgrade), but then we'd only want to do it in some specific
> contexts (during byte-compilation) rather than all the time.
>
> > When `autoload' is called, if the function in question is completely
> > defined (instead of not defined or just autoloaded), `autoload' will
> > check if the file it was given is a different file from the one the
> > function was defined in (when we know that file).
> > If it is then all is fine, if it wasn't then it loads the new file.
>
> So we first add handling for `require', then another for `autoload',
> ... in the end I can't believe it can be simpler than what we have
> (which has 0 cost in normal use, and a very small extra cost during
> package upgrade).

In terms of lines of code, I think it would end up simpler, despite having
to patch 3 functions instead of 1. Still, I understand it's too late now to
be slowing down `require'. If there's code in Emacs core that relies on its
speed, God knows how much code like that is floating around on the other
Elpas or the wiki.

Better stick with the version we have now.

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

  reply	other threads:[~2014-12-19 12:08 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-15 17:34 bug#19390: 25.0.50; `package-activate' is too slow Dmitry Gutov
     [not found] ` <handler.19390.B.14186649209005.ack@debbugs.gnu.org>
2014-12-16  0:41   ` bug#19390: Acknowledgement (25.0.50; `package-activate' is too slow) Dmitry Gutov
2014-12-16 12:32 ` bug#19390: 25.0.50; `package-activate' is too slow Dmitry Gutov
2014-12-16 13:26   ` Artur Malabarba
2014-12-16 13:42     ` Artur Malabarba
2014-12-16 14:31       ` Dmitry Gutov
2014-12-16 21:35         ` Artur Malabarba
2014-12-16 23:16           ` Stefan Monnier
2014-12-16 23:27             ` Dmitry Gutov
2014-12-16 23:55               ` Stefan Monnier
2014-12-17  0:40                 ` Artur Malabarba
2014-12-17  1:17                   ` Dmitry Gutov
2014-12-17 14:33                     ` Artur Malabarba
2014-12-17  2:41                   ` Dmitry Gutov
2014-12-17 10:47                     ` Artur Malabarba
2014-12-18  0:14                       ` Dmitry Gutov
2014-12-18  1:38                         ` Stefan Monnier
2014-12-18  2:11                           ` Artur Malabarba
2014-12-18 10:37                             ` Dmitry Gutov
2014-12-18 14:30                               ` Stefan Monnier
2014-12-18 14:47                                 ` Dmitry Gutov
2014-12-18 15:39                                   ` Artur Malabarba
2014-12-18 15:47                                     ` Artur Malabarba
2014-12-18 16:15                                       ` Dmitry Gutov
2014-12-18 17:50                                         ` Artur Malabarba
2014-12-18 17:54                                           ` Dmitry Gutov
2014-12-18 18:40                                             ` Stefan Monnier
2014-12-18 19:13                                               ` Artur Malabarba
2014-12-19  4:31                                                 ` Stefan Monnier
2014-12-19 12:08                                                   ` Artur Malabarba [this message]
2014-12-18 18:37                                       ` Stefan Monnier
2014-12-18 15:49                                     ` Dmitry Gutov
2014-12-18 16:45                                     ` Dmitry Gutov
2014-12-18 16:14                                   ` Artur Malabarba
2014-12-18 15:15                               ` Artur Malabarba
2014-12-18 15:45                                 ` Dmitry Gutov
2014-12-18 17:39                                   ` Artur Malabarba
2014-12-18 17:52                                     ` Dmitry Gutov
2014-12-18 19:01                                       ` Artur Malabarba
2014-12-18 19:49                                         ` Dmitry Gutov
2014-12-18 18:42                                   ` Stefan Monnier
2014-12-18 18:45                                     ` Dmitry Gutov
2014-12-16 16:53       ` Dmitry Gutov
2014-12-16 22:00         ` Artur Malabarba
2014-12-17  1:05           ` Dmitry Gutov
2014-12-16 23:19         ` Stefan Monnier
2014-12-16 23:40           ` Dmitry Gutov
2014-12-16 23:56             ` 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

  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='CAAdUY-+x-zzPpPTPkiNmT=LBYxpjSEXVOm6PRrCNkfa4tfAkYw@mail.gmail.com' \
    --to=bruce.connor.am@gmail.com \
    --cc=19390@debbugs.gnu.org \
    --cc=dgutov@yandex.ru \
    --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).