DNS first, if there's no DNS record, I do a whois query. The work is spread over a pool of 6 servers, which run the lookups in parallel.
http://www.verisign.com/domain-name-services/domain-informat...
And if you don't even want to change your code, you could fire up a DNS server that serves the entries from that file.
Great product. Hope you make a tonne of cash! :)