Thema: Delphi TBufferedFileStream

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: TBufferedFileStream

  Alt 14. Sep 2009, 16:13
Du weißt aber, daß du jetzt mindestens 3 Cache in deinem Stream drinnen hast?

- dein Puffer
- die WindowsFileCache
- die Cache z.B. der Festplatte
- .........

es ginge also noch etwas Flotter
- entweder man nutzt die WFC besser aus und optimiert deren Verwaltung
- oder man umgeht die WFC und nutzt auf der tieferen Ebene nur noch die eigene Cache.


für ersteren Weg (Optimieren der WFC ... siehe MSDN-Library durchsuchenCreateFile) hab ich mich in himXML entschieden, da man die Lese-/Schreibzugriffe für den anderen Weg (umgehen der WFC) etwas mehr koordiniert werden muß (dieses findet man aber im FileSplitter wieder, da dort der Datentransfer sehr gut vorhersehbar ist)


Zitat von Laufi:
ich empfehle das allen, die für schnelle Streams aus dateien nicht selber einen Buffer holen möchten
PS: die alten Pascalfunktionen um Delphi-Referenz durchsuchenAssginFile
nutzen einen Puffer, nur ist der leider standardmäßig sehr suboptimal eingestellt (128 Byte), so daß er in diesem Fall eher bremst ... es sei den man gibt da einen eigenen "passerenden" Puffer an


PSS: wenn du den Stream entweder nur zum Lesen oder Schreiben öffnen läßt, dann ließe sich die Pufferverwaltung wesenlich vereinfachen und es wären auch keine/weniger SEEKs nötig
$2B or not $2B
  Mit Zitat antworten Zitat