Jetzt hab ich gehört, dass FastMM doch sooo viel besser sein soll, als der Borland Speichermanager.
Habe D2005.
Jetzt habe ich also probiert:
http://sourceforge.net/projects/fastmm/
und auch gleich mal getestet, und
oh Schreck, mit FastMM braucht der Vorgang doppelt so lange.
Mit Original Borland Speichermanager etwa 3000 ms und mit FastMM rund 6000 ms
Liegt das an meinen fehlenden Kenntnissen über FastMM und dessen Optionen oder ist das einfach nur verarsche ?
Wie sieht das bei Euch aus ?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const ende = 50000000;
type
tar = array of double;
var i, a : longint;
p: tar;
c, start, stop, merke : tlargeinteger;
begin
application.processmessages;
queryperformancefrequency(c);
queryperformancecounter(start);
// Speicherreservierung + Schreiben
i:=0;
while i<=ende do
begin
if i mod 10 =0 then setlength(p,i+10);
//setlength(p,i+1);
p[i] := 5000;
inc(i);
end;// von vor
queryperformancecounter(stop);
merke:=stop-start;
// Durchlauf nur Schreiben
queryperformancecounter(start);
i:=1;
while i<ende do
begin
p[i] :=6000.50;
inc(i);
end;
queryperformancecounter(stop);
Showmessage('Mit Speicherreservierung: ' + format('%.2f ms', [merke/c * 1000]) +#13#10 +
'Durchlauf Schreiben : ' + format('%.2f ms', [(stop-start)/c * 1000]));
end; // dynamisches Array
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.