Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.163 Beiträge
 
Delphi 12 Athens
 
#19

AW: Datei kopieren ohne Cache (FILE_FLAG_NO_BUFFERING)

  Alt 1. Jan 2018, 14:13
Ich frage mich aber, ist das eigentlich sinnvoll, den Cache hier zu umgehen? In meinem Szenario werden die Dateien nicht nochmal eingelesen, der Cache würde also keinen Vorteil bringen.
Es kommt darauf an wann die Dateien mehrmals gelesen werden, wenn zwischendurch der FileCache übergelaufen ist und der letzte Leseversuch schon weg ist, dann bringt der FileCache es absolut garnichts, außer dass durchs Auslagern deines und der anderen Programme alles Andere langamer wird.

Also ohne Cache ist es "meißtens" besser und du mußt das durch optimieren der restlichen Funktionen verbessern,
Also muß eine Datei wirklich mehrmals komplett gelesen werden? (z.B. erstmal Haschen und für den Erstvergleich zweier Dateien erstmal die Hashs verwenden, anstatt jedesmal wieder auf den Dateiinhalt zuzugreifen)

PS: Die Dateisystemtreiber arbeiten mit 64 KB als Transferpuffer (rate mal warum im Speicher zufällig der erste Speicherblok von $00000000 bis $0000FFFF gespert ist und wofür der z.B. verwendet wird).
Ja, Nonbuffered muß man mit dem Mehrfachen der Sektorgröße abeiten, da nur komplette Sektoren gelesen und vorallem geschrieben werden können. Und um die IOPs zu optimieren nimmt man dann ein Mehrfaches sämtlicher durchlaufener Puffer/Caches.

Hier im Forum suchenSearchSameFiles
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat