diff --git a/README.md b/README.md index 088c6e5..adbcdc2 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,35 @@ -Comparing speed of bind-dig, ldns-drill and hickory-resolve DNS clients. +Comparing speed of bind-dig (C), knot-kdig (C), ldns-drill (C), +hickory-resolve (Rust), dog (Rust), doggo (Go) and q (Go) DNS clients. Server is Unbound. +## Versions +- libc musl 1.1.24 +- gcc 13.2.0 +- rustc 1.83.0 (90b35a623 2024-11-26) +- go version go1.23.3 linux/amd64 +- unbound 1.22.0 +- dig 9.21.4-dev (commit 8d9bc93e) +- kdig, Knot DNS 3.5.dev0+1734704580.413600e (commit 413600ea) +- drill version 1.8.4 (ldns version 1.8.4) +- hickory 0.25.0-alpha.4 (commit 119800d0) +- dog v0.2.0-pre (commit 721440b1) +- doggo (commit 16ba284a) +- q (commit 1cb2639c) + ## Summary +`dog/target/release/dog -n 127.0.0.1:2253 -t TXT txt.domain.tld` ran +* 4.63 ± 0.27 times faster than `doggo/doggo -n 127.0.0.1:2253 --short -t TXT txt.domain.tld` +* 4.70 ± 0.24 times faster than `q/q -s 127.0.0.1:2253 -r -t TXT txt.domain.tld` +* 5.23 ± 0.45 times faster than `hickory-dns/target/release/resolve -n 127.0.0.1:2253 -t TXT txt.domain.tld` +* 6.78 ± 0.31 times faster than `/usr/sbin/drill -p 2253 -Q TXT txt.domain.tld @127.0.0.1` +* 9.85 ± 0.45 times faster than `knot-dns/src/kdig -p 2253 +short TXT txt.domain.tld @127.0.0.1` +* 28.39 ± 8.20 times faster than `bind9/bin/dig/dig -p 2253 +short TXT txt.domain.tld @127.0.0.1` + +## Previous results `hickory-dns/target/release/resolve -n 127.0.0.1:2253 -t A domain.tld` ran * 1.97 ± 0.28 times faster than `/usr/sbin/drill -p 2253 -Q A domain.tld @127.0.0.1` * 5.63 ± 1.16 times faster than `bind9/bin/dig/dig -p 2253 +short A domain.tld @127.0.0.1` ## Notes Custom build of drill gives 2x slower speed, -that one in results.txt is from Void packages. +so that one in results.txt is from Void packages.