iana-etc with STRIP=yes

Gilles Espinasse g.esp at free.fr
Tue Oct 7 09:28:01 PDT 2008


Selon "Valter Douglas Lisbôa Jr." <douglas at trenix.com.br>:

> Em Tuesday 07 October 2008 13:05:44 Dan Nicholson escreveu:
> >
> > Whenever you do a getservbyname(), the glibc resolver has to parse out
> > /etc/services. This happens when you use "http", and the resolver has
> > to decide what port number to use. Likewise, when some program
> > specifies "tcp", the glibc resolver has to parse /etc/protocols to
> > decide what protocol number that corresponds to. So, cutting out the
> > comments just makes the parsing faster. I saw a discussion of this a
> > while ago on a fedora list, but I can't find the link now.
> I follow the thread and found this forums before too.
>
> >
> > You can test this yourself with getent and then try again with a
> > stripped down /etc/services (I didn't bother).
> >
> > $ time { for ((n = 0; n < 100; n++)); do getent services http
> >
> > >/dev/null; done; }
> >
> > real    0m0.098s
> > user    0m0.033s
> > sys     0m0.065s
> >
> > I happen to think the comments are more beneficial than any speedup,
> > but that's just my preference.
> >
> > --
> > Dan
>
> I load the file on cache before the tests!
>
> No Stripped
> time { for ((n = 0; n < 100; n++)); do getent services http > /dev/null;
> done }
>
> real    0m0.110s
> user    0m0.024s
> sys     0m0.084s
>
> Stripped
> time { for ((n = 0; n < 100; n++)); do getent services http > /dev/null;
> done }
>
> real    0m0.106s
> user    0m0.020s
> sys     0m0.084s
>
> Low difference! :(
>
Port 80 is not a good sample for testing, as it should be very near the
beginning of the file, so the most favorable case.

Try with a protocol near the end of the file, difference should be much bigger.

Worst case for the search is with a protocol that is not in the file.
I don't know what happen when resolution fail. Any idea?

Gilles



More information about the lfs-dev mailing list