On Fri, 2022-09-02 at 22:43 +0200, Fabio Valentini wrote:
On Thu, Sep 1, 2022 at 8:02 PM Demi Marie Obenour
<demiobenour(a)gmail.com> wrote:
>
> On 9/1/22 13:47, Jaroslav Mracek wrote:
> > With loading or not loading file list it is not so easy or in general -
performance optimization is allways a trade one resource for another one or for some
features. DNF5 will provide a setting to not load file list, as well to not create disk
cache, or not using zchunk (already implemented in DNF). How it can help? It allows to
trade download for disk space and CPU, or RAM for HDD, or RAM, HDD, CPU for features. And
each user prefers or requires different different things.
> >
> > Without file lists there will be not available some functionality:
> > 1 dnf install/repoquery/whatprovides <file outside of /etc and
/usr/(s)bin> => will not work
> > 2. resolve transaction can fail - keep in mind that people are not only using
packages from Fedora distribution.
>
> From my perspective, the main problem here is that DNF (possibly via
> libsolv) loads all metadata into memory, instead of only the parts
> it actually needs. This should not be necessary, and I consider it
> a significant limitation of DNF.
I wonder, would it be better for memory-constrained systems to memmap
(and possibly uncompress on disk before doing that, if necessary)
repository data instead of loading it into memory directly? Or is the
limitation not the size of the repository data itself, but the
in-memory data structures that are generated *from* it?
Before this goes too far into the weeds, please remember DNF is already
being revised to do this a lot better. The numbers about that are in
the original bug report. Whenever DNF 5 lands in Fedora, the problem
should get a lot smaller.
--
Adam Williamson
Fedora QA
IRC: adamw | Twitter: adamw_ha
https://www.happyassassin.net