import time
class bar:
def __init__(self, a, b):
self.a = a
self.b = b
def oblah(self):
return self.a+self.b
def fblah(a,b):
return a+b
arrays = []
times = 200000
# Arrays
# Create
arr_create = time.time()
for i in xrange(times):
arrays.append({'a':1, 'b': 3})
arr_create = arr_create - time.time()
# Get
arr_get = time.time()
for i in xrange(times):
tmp = arrays[i]['a']
tmp = arrays[i]['b']
arr_get = arr_get - time.time()
# Function
arr_f = time.time()
for i in xrange(times):
tmp = fblah(arrays[i]['a'], arrays[i]['b'])
arr_f = arr_f - time.time()
# Clean
arrays = []
# Objects
objects = []
# Create
obj_create = time.time()
for i in xrange(times):
objects.append(bar(1,3))
obj_create = obj_create - time.time()
# Get
obj_get = time.time()
for i in xrange(times):
tmp = objects[i].a
tmp = objects[i].b
obj_get = obj_get - time.time()
# Function
obj_f = time.time()
for i in xrange(times):
tmp = objects[i].oblah()
obj_f = obj_f - time.time()
print "Arrays vs. Objects benchmark, iterations:"+str(times)
print "Create:"
print " Arrays: "+str(arr_create)
print " Objects: "+str(obj_create)
print "Get:"
print " Arrays: "+str(arr_get)
print " Objects: "+str(obj_get)
print "Function:"
print " Arrays: "+str(arr_f)
print " Objects: "+str(obj_f)