From: Bart Schaefer <schaefer@brasslantern.com>
To: cheer_xiao <xiaqqaix@gmail.com>, zsh-workers@zsh.org
Subject: Re: Slow completion when using aptitude
Date: Wed, 26 Jan 2011 09:05:06 -0800 [thread overview]
Message-ID: <110126090508.ZM2111@torch.brasslantern.com> (raw)
In-Reply-To: <87d3njemu9.fsf@ft.bewatermyfriend.org>
On Jan 26, 3:55pm, Frank Terbeck wrote:
} Subject: Re: Slow completion when using aptitude
}
} The difference is, that "aptitude install <tab>" lists uninstalled
} packages, whereas "apt-get install <tab>" simply lists all available
} packages. The former, while being more appropriate, also takes more
} work.
I tried this completion on a system that has neither aptitude nor
apt-get installed at all, so that I could limit the differences to
those attributable directly to the zsh completion system.
Comparing _complete_debug output for the two, the main difference
seems to be that _aptitude passes through _deb_packages repeatedly
if you have a matcher-list, while _apt makes only a single pass.
Both start out by looking at the DEBS_avail cache, but _aptititude
then goes on to examine the DEBS_installed cache as well, which
seems like a missed optimization in the case of this particular
sub-command word.
} I must admit, that I'm not quite familiar with how compsys' caching is
} implemented. I may be giving wrong pointers here. So I should better
} be quiet.
The caching appears to be identical in both cases, they're both going
through the standard mechanism; in fact even with the commands not
installed, if I repeat the aptitude completion and compare the
_complete_debug output, the (empty) cache is used and most of the
work done in _deb_packages on the first attempt is avoided.
If the cache doesn't seem to persist across session exit/restart, it
must have something to do with how cache validity is determined.
--
next prev parent reply other threads:[~2011-01-26 17:05 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-17 9:51 cheer_xiao
2011-01-19 12:33 ` Richard Hartmann
2011-01-26 5:11 ` cheer_xiao
2011-01-26 7:51 ` Julien Nicoulaud
2011-01-26 8:35 ` Frank Terbeck
2011-01-26 14:21 ` cheer_xiao
2011-01-26 14:55 ` Frank Terbeck
2011-01-26 17:05 ` Bart Schaefer [this message]
2011-01-26 17:29 ` Bart Schaefer
2011-01-30 2:49 ` cheer_xiao
2011-01-30 5:16 ` Bart Schaefer
2011-01-30 5:53 ` cheer_xiao
2011-01-30 7:15 ` Bart Schaefer
2011-01-30 10:40 ` Julien Nicoulaud
2011-01-30 10:51 ` Julien Nicoulaud
2011-01-30 11:18 ` cheer_xiao
2011-01-31 0:02 ` Bart Schaefer
2011-02-03 10:21 ` cheer_xiao
2011-02-03 14:56 ` Bart Schaefer
2011-02-04 3:24 ` cheer_xiao
[not found] ` <AANLkTinfzf6gM5Z83_+iQqkc+QVzGGKa3yqbPTa+Wm3A@mail.gmail.com>
[not found] ` <110203193315.ZM22047@torch.brasslantern.com>
2011-02-04 3:44 ` cheer_xiao
2011-02-04 3:48 ` cheer_xiao
2011-02-04 4:29 ` Bart Schaefer
2011-02-04 5:46 ` cheer_xiao
2011-02-04 15:04 ` Bart Schaefer
2011-02-05 9:13 ` cheer_xiao
[not found] ` <AANLkTinftiPPV-TtNU5DQ1+TV6Tb5P6AprBsRGdjoamB@mail.gmail.com>
2011-02-05 9:21 ` cheer_xiao
2011-02-05 9:30 ` cheer_xiao
2011-02-05 17:12 ` gi1242+zsh
2011-02-05 17:48 ` Bart Schaefer
2011-02-05 18:40 ` gi1242+zsh
2011-02-05 17:46 ` Bart Schaefer
2011-02-03 10:23 ` cheer_xiao
2011-02-03 14:51 ` Bart Schaefer
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=110126090508.ZM2111@torch.brasslantern.com \
--to=schaefer@brasslantern.com \
--cc=xiaqqaix@gmail.com \
--cc=zsh-workers@zsh.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 public inbox
https://git.vuxu.org/mirror/zsh/
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 NNTP newsgroup(s).