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)
Trust me my friend, a person can make a c program that’s much, much slower than one in python. That’s a meaningless point.
Sure, c allows for more control and thus the possibility for a quicker program but that’s just it, a possibility.
Zipper, though written in c++, can only download one thing at a time. This is why it’s so slow