Stefan Behnel wrote: > John Nagle wrote: >> Here's some actual code, from "tokenizer.py". This is called once >> for each character in an HTML document, when in "data" state (outside >> a tag). It's straightforward code, but look at all those >> dictionary lookups. >> >> def dataState(self): >> data = self.stream.char() >> >> # Keep a charbuffer to handle the escapeFlag >> if self.contentModelFlag in\ >> (contentModelFlags["CDATA"], contentModelFlags["RCDATA"]): > > Is the tuple > > (contentModelFlags["CDATA"], contentModelFlags["RCDATA"]) > > constant? If that is the case, I'd cut it out into a class member (or > module-local variable) first thing in the morning.
Ah, and there's also this little trick to make it a (fast) local variable in that method: def some_method(self, some_const=(1,2,3,4)): ... Stefan -- http://mail.python.org/mailman/listinfo/python-list