I ran a few tests, with the following results: 1. Timing using the time module: * Using for loop, src code: import time start = time.time() for word in self.dictcontents: self.potdomains.append(word + suffix1) self.potdomains.append(word + suffix2) end = time.time() runtime = end - start print "Using time(), for loop took %s s" % runtime
** I obtained the following results (using the full agid-4 dictionary, ~112K entries): python domainspotter.py --file resources/agid-4/infl.txt Using time(), for loop took 0.132480859756 s python domainspotter.py --file resources/agid-4/infl.txt Using time(), for loop took 0.143032073975 s python domainspotter.py --file resources/agid-4/infl.txt Using time(), for loop took 0.135424137115 s * Using generator, src code: def suffixGen(self, words): suffix1 = ".com" suffix2 = ".net" for word in words: yield word + suffix1 yield word + suffix2 def domainify(self): self.potdomains = [] words = self.dictcontents import time start = time.time() self.potdomains = list(CheckDomains.suffixGen(self, words)) end = time.time() runtime = end - start print "Using time(), generator took %s s" % runtime ** I obtained the following results (using the full agid-4 dictionary, ~112K entries): python domainspotter.py --file resources/agid-4/infl.txt Using time(), generator took 0.0830721855164 s python domainspotter.py --file resources/agid-4/infl.txt Using time(), generator took 0.0818212032318 s python domainspotter.py --file resources/agid-4/infl.txt Using time(), generator took 0.0830278396606 s This revealed that the generator seemed to be much faster, around 60% faster. I then wanted to try both possibilities with the timeit module, but was unable to get it working. I will start a new thread on that next, however, in case anyone has any further thoughts on the for loop versus generator issue. -Sam _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor