Hallo Leute, gerade bin ich dabei, meine FileIO-
Unit (WindowsXP, Delphi6, Turbo Delphi 2006), die ich in meinen Projekten einsetze, aufzupolieren, um den Programmablauf zu beschleunigen (vor allem für eine Simulation, die einige Tage läuft, und intensiv auf der Platte herumfuhrwerkt - einerseits soll's schneller gehen, andererseits tut mir die Platte leid).
Ich bin zumindest schon so weit, dass ich die Files in möglichst großen Portionen auf die Platte schreibe (z.B. mit
Blockwrite), bzw. typisierte Dateien verwende, und in möglichst großen Portionen schreibe/lese. Das war schon mal ein großer Fortschritt.
Aber jetzt hab' ich mir das Tool
"File Monitor" von Mark Russinovich (sysinternals) downgeloaded, wo man sehr gut mitschauen kann, was passiert.
Und: Ich kieg' die Kriese!!!!
Mein Code kann noch nicht optimal sein! Permanent sieht man auf low-level-Ebene,
CLOSE gefolgt von
OPEN für das gleiche File (diese korrespondieren NICHT zu reset/close auf high-level-Ebene. Dann werden
Fileattribute, die ich
setze (und die meiner Programmlogik damit bekannt sind), sofort danach, bei der nächsten Funktion der high-level-Ebene wieder
abgefragt.
-> Alles in allem SEHR SEHR viel unnötiger Overhead.
Daher meine Frage:
Kann man den Filezugriff nicht etwas low-levelliger machen, vielleicht direkt mit dem Windows-
API??? Gibt's da ev. ein Tutorial?
Viele Grüße,
Helmut