Einzelnen Beitrag anzeigen

DieDolly

Registriert seit: 22. Jun 2018
1.359 Beiträge
 
#20

AW: Dateien performant mit Callback kopieren

  Alt 3. Aug 2018, 14:37
Wenn ich ohne Buffering von Windows und einer Buffergröße von 10 MB bei ReadFile eine 1 GB-Datei kopiere, dauert das rund 30 Sekunden.
Mit 256 KB Buffer 40 Sekunden.
Mit einem 100 MB Buffer 22 Sekunden - genau so schnell wie Windows.

Aber bei 100 MB merkt man, dass die ProgressBar sich beim Aktualisieren anders verhält. Es werden keine kleinen Sprünge mehr gemacht sondern jede Sekunde ein großer.
Ein 50 MB Buffer ist auch OK und eine 1 GB Datei ist nach 22 bis 23 Sekunden kopiert.

Wenn man ReadFile und WriteFile nimmt, dann ist ein 100 MB Buffer am schnellsten. je kleiner, desto länger dauert es.
Ich lese von einer mechanischen HDD und schreibe auf genau dieselbe für meine Tests.

Der beste Buffer scheint also irgendwo zwischen 30 und 50 MB zu liegen. jedenfalls für HDDs. Bei guten SSDs kann man meiner Meinung nach bei 100 MB anfangen.

Geändert von DieDolly ( 3. Aug 2018 um 14:39 Uhr)
  Mit Zitat antworten Zitat