AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

CreateFileW richtig verwenden

Ein Thema von Glados · begonnen am 11. Sep 2017 · letzter Beitrag vom 16. Okt 2017
 
Benutzerbild von himitsu
himitsu

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

AW: CreateFileW richtig verwenden

  Alt 11. Sep 2017, 11:39
Aber warum nun vom alten Code weggehen, wenn er perfekt funktioniert und das sogar schnell
Die neuen Klassen sind mindestens genauso schnell und dazu noch OOP.


Windows hat FILE_FLAG_RANDOM_ACCESS als Vorauswahl.
Wenn man Dateien sequentiell verarbeitet, dann kann man theoretisch Windows sagen, dass es den WindowsFileCache verwalten anpassen soll.
Wenn man aber keine Gigabyte oder mehr in der Datei umherschaufelt, hat es praktisch keinerlei spürbaren Einfluss.

Und gerade bei Non-Buffered wird es umstöndlich, da du dann nur noch in Schreib-/Lesevorgänge mit "ganzen" Sektoren (am Besten aber eher ganze Cluster und Verwaltungseinheiten in der WindowsFileCache) verwenden darfst, ansonsten knallt es.
Zugriffe auf kleinere Blöcke müsstest du dann erst mit einem eigenen Cache abfangen.
Der Witz ist, dass NonBuffered für kleine Dateien langsamer ist, da deine Anwendung auf das Ende der Operation warten muß und eben nicht den WFC verwenden kann, der standardmäßig immer aktiv ist.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz