Einzelnen Beitrag anzeigen

Benutzerbild von Smiley
Smiley

Registriert seit: 9. Dez 2004
Ort: Gedern
205 Beiträge
 
Delphi 10.4 Sydney
 
#12

AW: Scan for Files mit der PPL

  Alt 20. Jun 2020, 23:18
Hier die Ergebnisse, die bei mir nach 2 Neustarts rauskommen.



TDirectory.GetFiles second : count 475349, seconds 16,1788474
TDirectory.GetFiles *.txt : count 4677, seconds 15,302593

SysUtils.FindFirst second : count 475349, seconds 14,8854405
SysUtils.FindFirst *.txt : count 4677, seconds 14,8693349

FindFirstFile second : count 475349, seconds 14,5398242
FindFirstFile *.txt : count 4677, seconds 14,8291518

FindFirstFileEx Two second : ignored
FindFirstFileEx Two *.txt : API does not support Directory-Filter

FindFirstFileEx second : count 475349, seconds 13,8974147
FindFirstFileEx *.txt : count 4677, seconds 13,9862744

FindFirstFileEx Large second : count 475349, seconds 14,5632557
FindFirstFileEx Large *.txt : count 4677, seconds 14,4209989


TDirectory.GetFiles second : count 475528, seconds 16,3475776
TDirectory.GetFiles *.txt : count 4674, seconds 15,2251856

SysUtils.FindFirst second : count 475528, seconds 14,7077626
SysUtils.FindFirst *.txt : count 4674, seconds 15,0170326

FindFirstFile second : count 475528, seconds 14,5263006
FindFirstFile *.txt : count 4674, seconds 14,6547686

FindFirstFileEx Two second : ignored
FindFirstFileEx Two *.txt : API does not support Directory-Filter

FindFirstFileEx second : count 475528, seconds 13,9469684
FindFirstFileEx *.txt : count 4674, seconds 13,9870103

FindFirstFileEx Large second : count 475528, seconds 14,5177057
FindFirstFileEx Large *.txt : count 4674, seconds 14,4392123



Das FindFirstFileEx kommt hier ganz gut weg.
Das Maskieren bringt keine großen Vorteile, da ja trotzdem alle Dateien gelesen werden müssen.
MasterFileTable könnte noch mal spannend werden.
So schlimm ist der Unterschied aber auch nicht, 1 bis 2 Sekunden Unterschied bei knapp 500Tausend Dateien ist jetzt nicht so schlimm wie ich es erwartet habe.
  Mit Zitat antworten Zitat