From: Mike Auty <ikelos@gentoo.org>
To: gentoo-portage-dev@lists.gentoo.org
Subject: Re: [gentoo-portage-dev] search functionality in emerge
Date: Sun, 23 Nov 2008 21:20:17 +0000 [thread overview]
Message-ID: <4929C911.6090006@gentoo.org> (raw)
In-Reply-To: <5a8c638a0811231049g56506b9flc0986705a24094f0@mail.gmail.com>
Hiya Emma,
Good luck on your project. A couple of things to be weary of are disk
I/O, metadata cache backends and overlays.
Disk I/O can be a significant bottleneck. Loading up a lot of files
from disk (be it the metadata cache or whatever) can take a long time
initially, but then be cached in RAM and so be much faster to access in
the future.
Portage allows for its internal metadata cache to be stored in a
variety of formats, as long as there's a backend to support it. This
means simple speedups can be achieved using cdb or sqlite (if you google
these and portage you'll get gentoo-wiki tips, which unfortunately
you'll have to read from google's cache at the moment). It also means
that if you want to make use of this metadata from within portage,
you'll have to rely on the API to tell the backend to get you all the
data (and it may be difficult to speed up without writing your own backend).
Finally there are overlays, and since these can change outside of an
"emerge --sync" (as indeed can the main tree), you'll have to reindex
these before each search request, or give the user stale data until they
manually reindex.
If you're interesting in implementing this in python, you may be
interested in another package manager that can handle the main tree,
also implemented in python, called pkgcore. From what I understand,
it's a similar code-base to portage, but its internal architecture may
have changed a lot.
I hope some of that helps, and isn't off putting. I look forward to
seeing the results! 5:)
Mike 5:)
next prev parent reply other threads:[~2008-11-23 21:20 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-23 12:17 [gentoo-portage-dev] search functionality in emerge Emma Strubell
2008-11-23 14:01 ` tvali
2008-11-23 14:33 ` Pacho Ramos
2008-11-23 14:43 ` Emma Strubell
2008-11-23 16:56 ` Lucian Poston
2008-11-23 18:49 ` Emma Strubell
2008-11-23 20:00 ` tvali
2008-11-23 21:20 ` Mike Auty [this message]
2008-11-23 21:59 ` René 'Necoro' Neumann
2008-11-24 0:53 ` tvali
2008-11-24 9:34 ` René 'Necoro' Neumann
2008-11-24 9:48 ` Fabian Groffen
2008-11-24 14:30 ` tvali
2008-11-24 15:14 ` tvali
2008-11-24 15:15 ` René 'Necoro' Neumann
2008-11-24 15:18 ` tvali
2008-11-24 17:15 ` tvali
2008-11-30 23:42 ` Emma Strubell
2008-12-01 7:34 ` [gentoo-portage-dev] " Duncan
2008-12-01 10:40 ` Emma Strubell
2008-12-01 17:52 ` Zac Medico
2008-12-01 21:25 ` Emma Strubell
2008-12-01 21:52 ` Tambet
2008-12-01 22:08 ` Emma Strubell
2008-12-01 22:17 ` René 'Necoro' Neumann
2008-12-01 22:47 ` Emma Strubell
2008-12-02 0:20 ` Tambet
2008-12-02 2:23 ` Emma Strubell
2008-12-02 10:21 ` Alec Warner
2008-12-02 12:42 ` Tambet
2008-12-02 13:51 ` Tambet
2008-12-02 19:54 ` Alec Warner
2008-12-02 21:47 ` Tambet
2008-12-02 17:42 ` Tambet
2008-11-23 14:56 ` [gentoo-portage-dev] " Douglas Anderson
2008-11-24 3:12 ` Marius Mauch
2008-11-24 5:01 ` devsk
2008-11-24 6:25 ` Marius Mauch
2008-11-24 6:47 ` [gentoo-portage-dev] " Duncan
2009-02-12 19:16 ` [gentoo-portage-dev] " René 'Necoro' Neumann
[not found] ` <5a8c638a0902121258s7402d9d7l1ad2b9a8ecf9820d@mail.gmail.com>
2009-02-12 21:01 ` Fwd: " Emma Strubell
2009-02-12 21:05 ` Mike Auty
2009-02-12 21:14 ` Emma Strubell
2009-02-13 13:37 ` Marijn Schouten (hkBst)
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=4929C911.6090006@gentoo.org \
--to=ikelos@gentoo.org \
--cc=gentoo-portage-dev@lists.gentoo.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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox