os.walk muy lento, ¿alguna forma de optimizarlo?

estoy usandoos.walk para construir un mapa de un almacén de datos (este mapa se usa más adelante en la herramienta que estoy construyendo)

Este es el código que uso actualmente:

def find_children(tickstore):
    children = []
    dir_list = os.walk(tickstore)
    for i in dir_list:
        children.append(i[0])
    return children

He hecho un análisis al respecto:

dir_list = os.walk(tickstore) corre instantáneamente, si no hago nada condir_list entonces esta función se completa al instante.

Está iterando sobredir_list eso lleva mucho tiempo, incluso si noappend cualquier cosa, solo iterar sobre eso es lo que lleva el tiempo.

Tickstore es un gran almacén de datos, con ~ 10,000 directorios.

Actualmente se tarda aproximadamente 35 minutos en completar esta función.

¿Hay alguna forma de acelerarlo?

He mirado alternativas aos.walk pero ninguno de ellos parecía proporcionar una gran ventaja en términos de velocidad.

Respuestas a la pregunta(3)

Su respuesta a la pregunta