A super fast DomainParser written in Go.
This library allows you to very quickly seperate domain names into subdomains, domains, tlds, and fqdns.
Here are some benchmarks which demonstrate the speed:
→ go test -bench=. [4af0b93]
goos: linux
goarch: amd64
pkg: github.com/Cgboal/DomainParser/tests
BenchmarkParsing10-12 299260 3995 ns/op
BenchmarkParsing100-12 29043 39320 ns/op
BenchmarkParsing1000-12 2955 406441 ns/op
BenchmarkParsing100000-12 28 40247358 ns/op
BenchmarkParsing1000000-12 3 399338124 ns/op
PASS
ok github.com/Cgboal/DomainParser/tests 10.446s
As can be seen above, this parser is capable of processing 10 million DNS names in 0.399 seconds.
Example usage can be seen in the tests directory.