LINUX.ORG.RU

История изменений

Исправление e7z0x1, (текущая версия) :

Есть разница между «сложно устроенный» и «перегруженный». У него из обязательных зависимостей только glibc, libcap и dbus. Собсно вот:

Well, bloated certainly has many different definitions. But in 
most definitions systemd is probably the opposite of bloat. 
Since systemd components share a common code base, they tend 
to share much more code for common code paths. Here's an 
example: in a traditional Linux setup, sysvinit, start-
stop-daemon, inetd, cron, dbus, all implemented a scheme to 
execute processes with various configuration options in a 
certain, hopefully clean environment. On systemd the code 
paths for all of this, for the configuration parsing, as well 
as the actual execution is shared. This means less code, less 
place for mistakes, less memory and cache pressure, and is 
thus a very good thing. And as a side-effect you actually get 
a ton more functionality for it...


As mentioned above, systemd is also pretty modular. You can 
choose at build time which components you need, and which you 
don't need. People can hence specifically choose the level of 
"bloat" they want.



When you build systemd, it only requires three dependencies: 
glibc, libcap and dbus. That's it. It can make use of more 
dependencies, but these are entirely optional.


So, yeah, whichever way you look at it, it's really not bloated.

Исходная версия e7z0x1, :

Есть разница между «сложно устроенный» и «перегруженный». У него из обязательных зависимостей только glibc, libcap и dbus. Собсно вот:

Well, bloated certainly has many different definitions. But in most definitions systemd is probably the opposite of bloat. Since systemd components share a common code base, they tend to share much more code for common code paths. Here's an example: in a traditional Linux setup, sysvinit, start-stop-daemon, inetd, cron, dbus, all implemented a scheme to execute processes with various configuration options in a certain, hopefully clean environment. On systemd the code paths for all of this, for the configuration parsing, as well as the actual execution is shared. This means less code, less place for mistakes, less memory and cache pressure, and is thus a very good thing. And as a side-effect you actually get a ton more functionality for it...

As mentioned above, systemd is also pretty modular. You can choose at build time which components you need, and which you don't need. People can hence specifically choose the level of "bloat" they want.

When you build systemd, it only requires three dependencies: glibc, libcap and dbus. That's it. It can make use of more dependencies, but these are entirely optional.

So, yeah, whichever way you look at it, it's really not bloated.