The developers of the Opensuse distribution have recently made significant improvements to the packet manager zypper. They have implemented the ability to parallelize packages and metadata loading, as well as introduced a new backend that optimizes the reuse of already installed packages and improves metadata processing efficiency. These changes have resulted in a significant decrease in loading times during updates.
For example, when updating 250 packages totaling 100 MB, the loading time decreased from 68.7 seconds to 13.1 seconds with the new backend and parallel mode enabled. Similarly, when updating 407 packages totaling 1 GB, the loading time decreased from 281.1 seconds to 119.6 seconds. These improvements are available with LibzyPP 17.36.4 and ZyPper 1.14.87, currently only in the Tumbleweed and Slowroll repositories.
It is important to note that these new features are currently disabled by default and are considered experimental. Users can activate parallel loading and the new backend by using the environment variables “Zypp_pck_Preload = 1” and “Zypp_curl2 = 1”. Additionally, the number of simultaneous packages being downloaded can be adjusted using the “Download.max_Connces” parameter in the configuration file zypp.conf.