TBBMM holding onto memory.
Although the speed of TBBMM is fantastic it seems to keep using memory and doesn't return much to the OS which we naturally thought was a fragmentation issue, however this simple code under a button in a default Delphi 2010 project;
procedure TForm1.Button1Click(Sender: TObject);
ObjList := TObjectList.Create;
for i := 1 to 10000000 do
Yields surprising results in Memory (Private Working Set);
TBBMM: 1.7MB -> 200MB -> 160MB
FastMM: 1.6MB -> 197MB -> 4MB
I can't help think that something is wrong somewhere. In our real world application using TBBMM we just eat memory until it explodes, whereas FastMM is way slower but doesn't get anywhere near the 4GB limit for Win 32 bit apps (Large Address Aware).
Zach Saw mentioned on his blog site that the Windows default memory manager might be a better bet, any ideas how to hook that up in Delphi?