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?
Fabio