M
MrJean1
Two observations:
1 - The difference in run time with and without the dummy* globals is
due to a difference in the number of invokations of the search()
function: 1,140 resp. 27,530 in my environment.
To verify, just change the line
def search():
....
to
searches = 0
def search():
global searches
searches += 1
....
and add at the very end
print searches, "searches"
2 - The run times with and without the dummy* variables is equal(ly
slow) if the LLentry() class and min() function call are modified to be
independent of the object value.
Change line
class LLentry: pass
to
LLinst = 0
class LLentry(object):
def __init__(self):
global LLinst
LLinst += 1
self.I = LLinst
and change line
mm = min((c.S, c) for c in rowitems(h))[1].D
to
mm = min((c.S, c.I, c) for c in rowitems(h))[2].D
/Jean Brouwers
1 - The difference in run time with and without the dummy* globals is
due to a difference in the number of invokations of the search()
function: 1,140 resp. 27,530 in my environment.
To verify, just change the line
def search():
....
to
searches = 0
def search():
global searches
searches += 1
....
and add at the very end
print searches, "searches"
2 - The run times with and without the dummy* variables is equal(ly
slow) if the LLentry() class and min() function call are modified to be
independent of the object value.
Change line
class LLentry: pass
to
LLinst = 0
class LLentry(object):
def __init__(self):
global LLinst
LLinst += 1
self.I = LLinst
and change line
mm = min((c.S, c) for c in rowitems(h))[1].D
to
mm = min((c.S, c.I, c) for c in rowitems(h))[2].D
/Jean Brouwers