On 13.09.2024 kl. 17.03 Benjamin Zeller wrote:
On 9/13/24 16:56, Klaus Vink Slott via openSUSE Users wrote:
Parallel operation: Selecting download after dependencies. So as soon as a package (including all necessary dependencies) is downloaded, it could start installing that - while continuing to download for the next batch.
This is not possible, librpm wants all packages for a transaction on disk, or at least all package headers. So we need to predownload all packages then start the installation. Thanks for enlightening me. So this is a limitation in librpm and not really in zypper. Anyway as I stated in the first place, for me this clearly a "cool to have" and not a real need.
What we will do is doing everything in parallel until that point... download, checksums, signatures, copying etc... That IS cool!
However the code as it is currently has two major problems:
- It has global state all over the place ( which is a problem for another feature we need ) - It is completely written with serial downloads in mind, not only the logic also the libzypp APIs, so there is no simple way to "just" parallelize things, we need a full source refactoring and this is what I spent most of my time on. Thanks. I have a little experience in how the playground changes when parallelizing a lot of interlocking tasks. Your work is much appreciated.
-- Regards Klaus