Utilize zypper's new preload feature to make downloads faster
Zypper's new preload feature is awesome 💯
The preload feature is much faster for large number of small packages, for example texlive and its dependencies than zypperoni's cumbersome method, though the latter does perform slightly better with larger packages.
To improve zypperoni's performance:
- Group together small packages (<4 MB: arbitrary figure needs more testing) and use preload to download them
- Reserve the other async threads for larger packages
Issues:
- zypper's preload feature currently does not support the
zypper downloadcommand which zypperoni uses to download packages. zypper installin download only mode has significant startup performance penalty compared tozypper download.zypper installresolves dependencies itself and may pull larger packages along with it to download which would cause conflict with other async threads.
There's one reason to not use this feature, though. If I'm using zypper and it's preloading / downloading the packages, if I start running qbittorrent and Session at the same time, then zypper will finish supposedly downloading 1.5 GB of data, only to say that some packages weren't downloaded correctly, and so I have to run the command again, and it starts downloading 1.5 GB all over again. I'm not sure if that's the case with zypperoni, but I am using zypperoni right now to do a distribution update just in case.
@as-muncher Strange, it shouldn't happen with zypperoni. 🤖