Interesting results for getservbyname() performance (and possible changes for /etc/services)

Ignacio Vazquez-Abrams ivazquez at
Thu Jan 12 11:36:01 UTC 2006

On Thu, 2006-01-12 at 12:02 +0100, Phil Knirsch wrote:
> Now, i know and understand how and why glibc does the getservbyname() 
> call as it does (namely, every time opening, reading and parsing the 
> file). It neither caches calls nor does any other fancy stuff (how could 
> it? The order in the file is arbitrary, so the only possibility is to do 
> a linear read and parse of the file).

> Comments and suggestions are of course always welcome.

What about writing (or finding) a NS module that does caching? It can
pull from a sorted bdb using a binary search, unless /etc/services is
newer at which point it rebuilds the database. /etc/services almost
*never* changes, so the rebuild speed shouldn't matter too much.

Ignacio Vazquez-Abrams <ivazquez at>

gpg --keyserver hkp:// --recv-key 38028b72
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <>

More information about the fedora-devel-list mailing list