Ciao
ho la necessità di scorrere un filesystem decisamente grande ( 10 Tb circa, in costante aumento) recuperando alcune informazioni su tutti i file.

I tempi saranno in ogni caso lunghissimi ad in questi casi anche una piccola ottimizzazione può portare notevole risparmio di tempo.

al momento ho utilizzato un banale metodo ricorsivo, qualcosa del genere

codice:
Public Sub Search(ByVal Dir As String, ByVal Subfolder As Boolean)

        Dim S As String
            For Each S In Files
                        ReDim Preserve Th(UBound(Th) + 1)
                        Th(UBound(Th)) = New Threading.Thread(AddressOf RoutineRecuperaInfoSuFile)
                        Th(UBound(Th)).Start(S)
                        Thread.CurrentThread.Sleep(100)
            Next
            If Subfolder = True Then
                For Each S In Dirs
                        Search(S, True)
                Next
            End If
avete qualche algoritmo migliore da suggerirmi?
gracias.

p.s.
nel titolo non è indicato il linguaggio perchè quello che mi interessa è l'algoritmo, non strettamente legato al codice
se avete qualcosa da suggerirmi in c, c#, c++, turbo pascal o vbscript a me va bene tutto