does anyone have any idea why this is ~22 times slower than libc/getaddrinfo()? -------- Original Message -------- Subject: [Unbound-users] libunbound - expected performance of cached rr Date: Mon, 23 Apr 2012 21:34:47 +0100 From: Paul Freeman <unbound-users at lists-in.noc4.net> To: <unbound-users at unbound.net> Hi, Having just carried out some crude benchmarking, I just thought I would sound out the list here. Version 1.4.16 linked libs: libevent 2.0.16-stable (it uses epoll), ldns 1.6.11, OpenSSL 1.0.0h 12 Mar 2012 linked modules: validator iterator configured for x86_64-pc-linux-gnu on Mon Apr 23 17:54:58 BST 2012 with options: '--prefix=/usr' '--build=x86_64-pc-linux-gnu' '--host=x86_64-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' '--libdir=/usr/lib64' '--with-pidfile=/var/run/unbound.pid' '--with-ldns=/usr' '--with-libevent=/usr' '--with-rootkey-file=/etc/dnssec/root-anchors.txt' '--disable-debug' '--disable-gost' '--disable-static' '--with-pthreads' '--without-pyunbound' '--without-pythonmodule' '--disable-rpath' uname -a Linux fire 3.3.0-gentoo #3 SMP Fri Mar 30 21:00:18 BST 2012 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ AuthenticAMD GNU/Linux /etc/hosts contains a line of the form: 127.0.0.2 test.local the following snippet yields ~850 queries/second #define HC 10000 if( (retval=ub_ctx_hosts(ctx, "/etc/hosts")) != 0) { printf("error reading hosts: %s. errno says: %s\n", ub_strerror(retval), strerror(errno)); return 1; } gettimeofday(&start_time, NULL); for (i=0; i<HC; i++){ retval = ub_resolve(ctx, "test.local", 1, 1, &result); if(retval != 0) { printf("resolve error: %s\n", ub_strerror(retval)); return 1; } if((i == HC-1) &&result->havedata) printf("The address is %s\n", inet_ntoa(*(struct in_addr*)result->data[0])); ub_resolve_free(result); } gettimeofday(&end_time, NULL); a similar loop using getaddrinfo() yields ~19,000 queries per second I was expecting the ub_resolve() rate to be higher given that the data is locally cached, unless I have missed something? any advice graciously accepted, thanks. regards Paul _______________________________________________ Unbound-users mailing list Unbound-users at unbound.net http://unbound.nlnetlabs.nl/mailman/listinfo/unbound-users