From: Simon Tournier <zimon.toutoune@gmail.com>
To: Csepp <raingloom@riseup.net>
Cc: "Ludovic Courtès" <ludo@gnu.org>,
"Andreas Enge" <andreas@enge.fr>,
guix-devel@gnu.org
Subject: Faster “guix search” (was Re: How many bytes do we add (closure of guix) when adding one new package?)
Date: Wed, 31 May 2023 10:05:15 +0200 [thread overview]
Message-ID: <86y1l5oric.fsf@gmail.com> (raw)
In-Reply-To: <87r0qxvd9q.fsf@riseup.net>
Hi,
On Tue, 30 May 2023 at 21:10, Csepp <raingloom@riseup.net> wrote:
> It makes zero sense to load full package definitions from
> disk for most queries, such as guix search, with an SoA representation
> we could load only the fields that we care about.
That’s already the case; see
~/.config/guix/current/lib/guix/package.cache.
For instance, “guix package -A” exploits it and the performances are
acceptable. Two past summers, wow already! I tried to augment it and
exploit it for “guix search”. The implementation and benchmark is in
#39258 [1]. Well, the whole thread of #39258 appears to me worth to
consider because it spots various bottleneck specific to “guix search”
and explains why the improvement is not straightforward.
Well, I have started months ago to write a Guix extension using
guile-xapian. My aim is to tackle two annoyances: 1. the speed and
2. the relevance.
About the relevance #2, the issue is that the current scoring considers
only the local information of one package without considering the global
information of all the others. Well, see [2,3,4] for some details. :-)
1: https://issues.guix.gnu.org/39258#119
2: https://yhetil.org/guix/CAJ3okZ3E3bhZ5pROZS68wEKdKOcZ8SpXsvdi-bnB=9Jz3mPahA@mail.gmail.com
3: https://yhetil.org/guix/CAJ3okZ3+hn0nJP98OhnZYLWJvhLGpdTUK+jB0hoM5JArQxO=zw@mail.gmail.com
4: https://yhetil.org/guix/CAJ3okZ0LaJzWDBA7bjqZew_jAmtt1rj9PJhevwrtBiA_COXENg@mail.gmail.com
> ps.: Now I'm even more glad that I'm using a file system with
> transparent compression on all my Guix systems.
Did you benchmarked the performances for some Guix operations on these
compressed vs uncompressed file system?
Cheers,
simon
next prev parent reply other threads:[~2023-05-31 10:33 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <ZEZWS/h9xa/ZX3/E@jurong>
[not found] ` <875y9jzl9m.fsf@gnu.org>
[not found] ` <874jot19fd.fsf_-_@gnu.org>
[not found] ` <87fs7rvv5s.fsf_-_@gnu.org>
[not found] ` <ZGj3hGKGwu3mQklT@jurong>
[not found] ` <878rddooy4.fsf@gnu.org>
2023-05-25 18:24 ` How many bytes do we add (closure of guix) when adding one new package? Simon Tournier
2023-05-26 16:21 ` Ludovic Courtès
2023-05-30 12:10 ` Simon Tournier
2023-05-30 19:10 ` Csepp
2023-05-31 8:05 ` Simon Tournier [this message]
2023-05-31 11:10 ` Faster “guix search” (was Re: How many bytes do we add (closure of guix) when adding one new package?) Csepp
2023-05-31 11:55 ` Attila Lendvai
2023-05-30 20:55 ` How many bytes do we add (closure of guix) when adding one new package? Jack Hill
2023-05-31 8:27 ` Simon Tournier
2023-05-31 12:47 ` Guillaume Le Vaillant
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://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86y1l5oric.fsf@gmail.com \
--to=zimon.toutoune@gmail.com \
--cc=andreas@enge.fr \
--cc=guix-devel@gnu.org \
--cc=ludo@gnu.org \
--cc=raingloom@riseup.net \
/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/guix.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).