Re: [ANNOUNCE] udev 0.1 release

Havoc Pennington
2003-04-12T23:16:12Z

On Sat, Apr 12, 2003 at 01:07:21AM -0700, Greg KH wrote:
> Oh, and to compare sizes, with udev linked against klibc (static link)
> it comes out to a whopping big 6004 bytes:
> $ size udev
> text data bss dec hex filename
> 5572 4 392 5968 1750 udev
>

If it isn't obvious (I guess it is), that's an apples and oranges
comparison - though udev being smaller than /bin/true is either bad
for /bin/true or pretty good for udev. ;-)

I would want to compare D-BUS to a CORBA implementation, DCOP, M-BUS,
SOAP, or something like that (though it's reasonably different from
all of those). It's about the same size as DCOP, and about half the
size of ORBit2 which is a small CORBA. Then there's a large CORBA like
MICO that uses several megabytes. No clue how big an M-BUS
implementation is.

The important thing though in my mind isn't the raw size comparison
but what the size is "spent" on - for D-BUS the size is partially
spent on avoiding dependencies (DCOP and ORBit rely on GLib/Qt for
many things), and robustness (thread locks, OOM handling, robust API,
unit testability, and careful input validation). There's also size
cost to the abstractions made: system vs. per-session bus, bus daemon
vs. one-to-one, network transport (tcp vs. unix domain vs. whatever),
authentication mechanism (cookies, socket credentials, kerberos), and
so forth.

Other IPC sofware that's about the same size spends its code size on
different things, it's all about the tradeoffs.

Havoc