Karlo Lozovina wrote: > Let's say I have a class with few string properties and few integers, and > a lot of methods defined for that class. > > Now if I have hundreds of thousands (or even more) of instances of that > class - is it more efficient to remove those methods and make them > separate functions, or it doesn't matter? > > Thanks... > It is not noticeably more or less efficient in either memory or execution speed.
Both method and function code is compiled and stored once in either the class name space (for the method) or the module name space (for the function), and the lookup of either one is a single lookup in the appropriate name space. Actually the method lookup requires one extra step: First look for the method in the instance (which fails) and then look for it in the class (which succeeds). But that extra look up is highly optimized and probably not noticeable. The number of methods/functions may slow things up, but it will affect either name space equally. Gary Herron -- http://mail.python.org/mailman/listinfo/python-list