nachdem ich ein bisschen selbst rumprobiert habe bin ich zu folgendem Ergebnis gekommen:
Wenn man beliebige Daten nur kapseln sowie ein- und auslesen will, so sind Dictionaries schneller als Objekte.
Mein Testcode:
Code: Alles auswählen
>>> class CLS1(object):
... def __init__(self, a, b):
... self.a = a
... self.b = b
...
>>> def f1():
... o = CLS1(100,200)
... o.a
... o.b
... o.a = o.b - 5000
... o.b = 0
...
>>> def f2():
... o = {"a" : 100, "b" : 200}
... o["a"]
... o["b"]
... o["a"] = o["b"] - 5000
... o["b"] = 0
...
>>> def test(f, n):
... i = 0
... time1 = time.time()
... while i < n:
... f()
... i += 1
... time2 = time.time()
... print time2-time1
...
>>> test(f1,2000000)
3.26900005341
>>> test(f2,2000000)
1.83500003815
Liebe Grüße,
Alex