Einzelnen Beitrag anzeigen

hathor
(Gast)

n/a Beiträge
 
#1

Testen eines USB3.0-Drives - DISKSPEED

  Alt 27. Apr 2010, 05:44
Zum Testen eines USB3.0-Drives habe ich ein kleines Programm gemacht, das ein 100MB-File schreibt und liest.
Dazu verwende ich folgende Funktionen:

Delphi-Quellcode:
//data ist ein 100MB-String

function LoadStringFromFile(const fileName : String) : String;
var
        fs : TFileStream;
begin
        fs:=TFileStream.Create(fileName, fmOpenRead+fmShareDenyNone);
        SetLength(Result, fs.Size);
        fs.Read(Result[1], fs.Size);
        fs.Free;
end;

procedure TForm1.WriteCClick(Sender: TObject);
var
   fs : TFileStream;
   gtc1, gtc2 : Cardinal;
begin
      filename:= DriveComboBox1.Drive + ':\test.txt';
   gtc1:= GetTickCount;
           fs:=TFileStream.Create(fileName, fmCreate);
           fs.Write(DATA[1], Length(DATA));
           fs.Free;
   gtc2:= GetTickCount;
   lbWtimeC.caption:= IntToStr(gtc2-gtc1)+' Millisec ';
   lbWriteC.caption:= IntToStr(100000 div(gtc2-gtc1))+' MB/sec ';
end;

procedure TForm1.ReadCClick(Sender: TObject);
var
   s : String;
   gtc1, gtc2 : Cardinal;
begin
   gtc1:= GetTickCount;
         s:= LoadStringFromFile(filename);
   gtc2:= GetTickCount;
   lbReadC.caption:= IntToStr(100000 div(gtc2-gtc1))+' MB/sec ';
   lbRtimeC.caption:= IntToStr(gtc2-gtc1)+' Millisec ';
end;
Beim Schreiben werden Geschwindigkeiten von 60-70 MB/sec angezeigt, beim Lesen
erscheint ein unglaubwürdiger Wert von über 600 MB/sec.
Wer hat Verbesserungsvorschläge?

Danke für's Nachdenken und Helfen!
  Mit Zitat antworten Zitat