I guess I’m smart enough to install opensuse, but dumb enough that I somehow got slow pacman.
I kid you not, on my hardware zypper is the fastest between ubuntu apt, fedora dnf, and arch pacman. dnf was the second-fastest on my hardware, with apt and pacman being pretty sluggish
I’ve also used portage which was even slower, but probably not a fair comparison considering how much more complex it is.
In the grand scheme of things the difference between C, C++, and Python isn’t meaningful when operating over a network (edit: for a single-user system). It’s very likely that the difference for thread OP is just caused by weaker connections to specific repos.
We’re talking about a package manager, not a game, network server, etc. On a basic level the package manager only needs to download files from a network and install them (OS syscalls for reading/writing files, these are exposed C functions or assembly routines), or delegate to a specific package’s build setup (which will also likely be written in a compiled language)
Wait something can be slower than Zypper? Does it have a bunch of
sleep(1)
scattered around?I guess I’m smart enough to install opensuse, but dumb enough that I somehow got slow pacman.
I kid you not, on my hardware zypper is the fastest between ubuntu apt, fedora dnf, and arch pacman. dnf was the second-fastest on my hardware, with apt and pacman being pretty sluggish
I’ve also used portage which was even slower, but probably not a fair comparison considering how much more complex it is.
‘On my machine it works’ is not a strong argument, and is highly unlikely, due to the language it was written in.
Pacman is written in C, APT in C++, DNF in Python, and Zypper in C++ as well.
So, no. Pacman ‘wins’.
What truly matters is which tool is best suited for your use case.
In the grand scheme of things the difference between C, C++, and Python isn’t meaningful when operating over a network (edit: for a single-user system). It’s very likely that the difference for thread OP is just caused by weaker connections to specific repos.
We’re talking about a package manager, not a game, network server, etc. On a basic level the package manager only needs to download files from a network and install them (OS syscalls for reading/writing files, these are exposed C functions or assembly routines), or delegate to a specific package’s build setup (which will also likely be written in a compiled language)