I am using os.walk to build a map of a data-store (this map is used later in the tool I am building)
This is the code I currently use:
def find_children(tickstore):
children = []
dir_list = os.walk(tickstore)
for i in dir_list:
children.append(i[0])
return children
I have done some analysis on it:
dir_list = os.walk(tickstore) runs instantly, if I do nothing with dir_list then this function completes instantly.
It is iterating over dir_list that takes a long time, even if I don't append anything, just iterating over it is what takes the time.
Tickstore is a big datastore, with ~10,000 directories.
Currently it takes approx 35minutes to complete this function.
Is there any way to speed it up?
I've looked at alternatives to os.walk but none of them seemed to provide much of an advantage in terms of speed.