|
自己做了个小实验,结果是
访问字典的速度比访问对象成员的速度快13%
详细情况如下
有时在写程序的时候我们会犹豫是用类还是用字典, 比如
用类
class User:
def __init__(self, id, name, age):
self.id = id
self.name = name
self.age = age
或者用字典
user = dict()
user['id'] = 0
user['name'] = 'Tom'
user['age'] = 10
我想测试一下访问对象成员的速度和访问字典的速度
测试程序和结果如下
测试访问对象成员的速度
class A:
def __init__(self):
self.a1 = 0
self.a2 = 0
self.a3 = 0
self.a4 = 0
self.a5 = 0
self.a6 = 0
self.a7 = 0
self.a8 = 0
self.a9 = 0
self.a10 = 0
a = A()
for i in xrange(10000000):
a.a1 = 999
a.a2 = 999
a.a3 = 999
a.a4 = 999
a.a5 = 999
a.a6 = 999
a.a7 = 999
a.a8 = 999
a.a9 = 999
a.a10 = 999
结果:4.432s
测试访问字典的速度
a = dict()
a['a1'] = 0
a['a2'] = 0
a['a3'] = 0
a['a4'] = 0
a['a5'] = 0
a['a6'] = 0
a['a7'] = 0
a['a8'] = 0
a['a9'] = 0
a['a10'] = 0
for i in xrange(10000000):
a['a1'] = 999
a['a2'] = 999
a['a3'] = 999
a['a4'] = 999
a['a5'] = 999
a['a6'] = 999
a['a7'] = 999
a['a8'] = 999
a['a9'] = 999
a['a10'] = 999
结果:3.865s
访问字典的速度比访问对象成员的速度快13%
|
|