[Python-Dev] Draft proposal: Implicit self in Python 3.0 (original) (raw)
Ralf W. Grosse-Kunstleve rwgk at yahoo.com
Sun Jan 8 16:35:53 CET 2006
- Previous message: [Python-Dev] Draft proposal: Implicit self in Python 3.0
- Next message: [Python-Dev] Draft proposal: Implicit self in Python 3.0
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
--- Fredrik Lundh <fredrik at pythonware.com> wrote:
Ralf W. Grosse-Kunstleve wrote:
> Please make Python more selfish. Note that this is also an obvious avenue > for significant performance increases. If self is implicit you don't have to do > the dictionary lookup for "self" all the time as is the case now. what dictionary lookup ?
IIUC, "self" is first looked up in the local dictionary.
Please try the code below to see the performance impact. As an alternative to a copy/paste exercise try this:
wget http://cci.lbl.gov/~rwgk/python/self_lookup.py python self_lookup.py
The output with Python 2.4.1/Fedora3/Opteron is:
loop_function: 13.10 loop_class: 17.11
Cheers, Ralf
import time
def loop_function(x, n): result = 0 for i in xrange(n): result += x return result
class loop_class:
def init(self, x, n): self.x = x self.n = n
def call(self): result = 0 for i in xrange(self.n): result += self.x return result
def run(x=3.1415, n=10**8): t0 = time.time() loop_function(x=x, n=n) print "loop_function: %.2f" % (time.time() - t0) t0 = time.time() loop_class(x=x, n=n)() print " loop_class: %.2f" % (time.time() - t0)
if (name == "main"): run()
Yahoo! DSL – Something to write home about. Just $16.99/mo. or less. dsl.yahoo.com
- Previous message: [Python-Dev] Draft proposal: Implicit self in Python 3.0
- Next message: [Python-Dev] Draft proposal: Implicit self in Python 3.0
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]