Hallo,
Ich schreibe momentan an einem Festplatten Benchmarktool. Am Ende möchte ich Lese- und Schreibgeschwindigkeit anzeigen.
Damit schreibe ich eine Datei
Delphi-Quellcode:
F := TFileStream.Create(Datei+InttoStr(i), fmCreate or fmShareExclusive);
try
while wrBytes + BytesPerBlock <= Size do
begin
F.Write(buf, BytesPerBlock);
Inc(wrBytes, BytesPerBlock);
end;
if wrBytes + BytesPerBlock < Size then
F.Write(buf, Size - wrBytes);
finally
F.Free;
end;
Auslesen ist bis auf das write (dann Read) der selbe Algorithmus.
Jetzt habe ich das Problem, dass er bei kleinen Dateien bis zu 8 mal schneller liest als er schreibt, was ich für sehr unwahrscheinlich halte. Das heißt er hat die Datei noch irgendwo gecached. Ich nehme mal das es der Festplattencache ist, oder aber auch der Arbeitsspeicher?
Wie lösche ich den cache, damit kein Mist rauskommt?
Genieße jede Minute deines Lebens, denn sie wird nicht wieder kommen.