docs: add readme, upload new results

This commit is contained in:
DarkCat09 2024-12-21 13:02:13 +04:00
parent 07ae58009b
commit d9b3be5c72
Signed by: DarkCat09
GPG key ID: BD3CE9B65916CD82
2 changed files with 129 additions and 0 deletions

11
README.md Normal file
View file

@ -0,0 +1,11 @@
Comparing speed of bind-dig, ldns-drill and hickory-resolve DNS clients.
Server is Unbound.
## Summary
`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.

118
results.txt Normal file
View file

@ -0,0 +1,118 @@
==> Checking deps
/usr/sbin/unbound
/usr/sbin/hyperfine
dig: using custom build at bind9/bin/dig/dig
/usr/sbin/drill
resolve: using custom build at hickory-dns/target/release/resolve
==> Starting Unbound
==> Benchmarks for A domain.tld.
Benchmark 1: bind9/bin/dig/dig -p 2253 +short A domain.tld @127.0.0.1
Time (mean ± σ): 10.7 ms ± 2.2 ms [User: 8.0 ms, System: 3.3 ms]
Range (min … max): 8.6 ms … 16.7 ms 322 runs
Benchmark 2: /usr/sbin/drill -p 2253 -Q A domain.tld @127.0.0.1
Time (mean ± σ): 3.8 ms ± 0.5 ms [User: 2.6 ms, System: 0.9 ms]
Range (min … max): 3.0 ms … 4.9 ms 813 runs
Benchmark 3: hickory-dns/target/release/resolve -n 127.0.0.1:2253 -t A domain.tld
Time (mean ± σ): 1.9 ms ± 0.1 ms [User: 1.2 ms, System: 1.3 ms]
Range (min … max): 1.8 ms … 3.4 ms 1594 runs
Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet system without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.
Summary
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
==> Benchmarks for AAAA domain.tld.
Benchmark 1: bind9/bin/dig/dig -p 2253 +short AAAA domain.tld @127.0.0.1
Time (mean ± σ): 9.8 ms ± 1.3 ms [User: 7.5 ms, System: 2.7 ms]
Range (min … max): 8.6 ms … 16.5 ms 227 runs
Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet system without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.
Benchmark 2: /usr/sbin/drill -p 2253 -Q AAAA domain.tld @127.0.0.1
Time (mean ± σ): 3.5 ms ± 0.5 ms [User: 2.4 ms, System: 0.9 ms]
Range (min … max): 2.2 ms … 6.0 ms 823 runs
Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet system without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.
Benchmark 3: hickory-dns/target/release/resolve -n 127.0.0.1:2253 -t AAAA domain.tld
Time (mean ± σ): 1.9 ms ± 0.8 ms [User: 1.3 ms, System: 1.3 ms]
Range (min … max): 1.8 ms … 33.9 ms 1591 runs
Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet system without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.
Summary
hickory-dns/target/release/resolve -n 127.0.0.1:2253 -t AAAA domain.tld ran
1.80 ± 0.83 times faster than /usr/sbin/drill -p 2253 -Q AAAA domain.tld @127.0.0.1
5.07 ± 2.32 times faster than bind9/bin/dig/dig -p 2253 +short AAAA domain.tld @127.0.0.1
==> Benchmarks for MX domain.tld.
Benchmark 1: bind9/bin/dig/dig -p 2253 +short MX domain.tld @127.0.0.1
Time (mean ± σ): 12.9 ms ± 4.0 ms [User: 9.6 ms, System: 3.9 ms]
Range (min … max): 8.7 ms … 23.1 ms 130 runs
Benchmark 2: /usr/sbin/drill -p 2253 -Q MX domain.tld @127.0.0.1
Time (mean ± σ): 3.1 ms ± 0.2 ms [User: 2.2 ms, System: 0.8 ms]
Range (min … max): 2.7 ms … 3.6 ms 1030 runs
Benchmark 3: hickory-dns/target/release/resolve -n 127.0.0.1:2253 -t MX domain.tld
Time (mean ± σ): 2.0 ms ± 2.0 ms [User: 1.3 ms, System: 1.3 ms]
Range (min … max): 1.8 ms … 81.8 ms 1633 runs
Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet system without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.
Summary
hickory-dns/target/release/resolve -n 127.0.0.1:2253 -t MX domain.tld ran
1.57 ± 1.60 times faster than /usr/sbin/drill -p 2253 -Q MX domain.tld @127.0.0.1
6.54 ± 6.97 times faster than bind9/bin/dig/dig -p 2253 +short MX domain.tld @127.0.0.1
==> Benchmarks for CNAME mail.domain.tld.
Benchmark 1: bind9/bin/dig/dig -p 2253 +short A mail.domain.tld @127.0.0.1
Time (mean ± σ): 9.8 ms ± 1.4 ms [User: 7.5 ms, System: 2.8 ms]
Range (min … max): 8.7 ms … 15.5 ms 194 runs
Warning: The first benchmarking run for this command was significantly slower than the rest (15.4 ms). This could be caused by (filesystem) caches that were not filled until after the first run. You are already using the '--warmup' option which helps to fill these caches before the actual benchmark. You can either try to increase the warmup count further or re-run this benchmark on a quiet system in case it was a random outlier. Alternatively, consider using the '--prepare' option to clear the caches before each timing run.
Benchmark 2: /usr/sbin/drill -p 2253 -Q A mail.domain.tld @127.0.0.1
Time (mean ± σ): 3.6 ms ± 0.1 ms [User: 2.5 ms, System: 0.9 ms]
Range (min … max): 3.1 ms … 4.0 ms 909 runs
Benchmark 3: hickory-dns/target/release/resolve -n 127.0.0.1:2253 -t A mail.domain.tld
Time (mean ± σ): 2.0 ms ± 0.9 ms [User: 1.3 ms, System: 1.3 ms]
Range (min … max): 1.9 ms … 30.8 ms 1523 runs
Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet system without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.
Summary
hickory-dns/target/release/resolve -n 127.0.0.1:2253 -t A mail.domain.tld ran
1.80 ± 0.83 times faster than /usr/sbin/drill -p 2253 -Q A mail.domain.tld @127.0.0.1
4.89 ± 2.36 times faster than bind9/bin/dig/dig -p 2253 +short A mail.domain.tld @127.0.0.1
==> Benchmarks for TXT txt.domain.tld.
Benchmark 1: bind9/bin/dig/dig -p 2253 +short TXT txt.domain.tld @127.0.0.1
Time (mean ± σ): 11.6 ms ± 2.3 ms [User: 8.6 ms, System: 3.5 ms]
Range (min … max): 9.1 ms … 17.6 ms 229 runs
Benchmark 2: /usr/sbin/drill -p 2253 -Q TXT txt.domain.tld @127.0.0.1
Time (mean ± σ): 3.5 ms ± 1.5 ms [User: 2.4 ms, System: 0.9 ms]
Range (min … max): 2.2 ms … 11.0 ms 725 runs
Benchmark 3: hickory-dns/target/release/resolve -n 127.0.0.1:2253 -t TXT txt.domain.tld
Time (mean ± σ): 2.1 ms ± 0.9 ms [User: 1.2 ms, System: 1.4 ms]
Range (min … max): 1.9 ms … 36.7 ms 1461 runs
Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet system without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.
Summary
hickory-dns/target/release/resolve -n 127.0.0.1:2253 -t TXT txt.domain.tld ran
1.70 ± 1.09 times faster than /usr/sbin/drill -p 2253 -Q TXT txt.domain.tld @127.0.0.1
5.67 ± 2.85 times faster than bind9/bin/dig/dig -p 2253 +short TXT txt.domain.tld @127.0.0.1
==> All done
==> Stopping Unbound