pleriche / FastMM5

FastMM is a fast replacement memory manager for Embarcadero Delphi applications that scales well across multiple threads and CPU cores, is not prone to memory fragmentation, and supports shared memory without the use of external .DLL files.
283 stars 73 forks source link

"Allocation Group" feature missing? #36

Closed dcabale closed 1 year ago

dcabale commented 1 year ago

Hey there, It seems that FastMM5 does not provide the (very useful) "Allocation Group" feature, present in FastMM4. Am I right ? If I am, is that feature in the FastMM5 roadmap ? If not, what do you currently propose for logging allocations by group ? Thanks for your help.

pleriche commented 1 year ago

Hi,

It does have a global variable "FastMM_CurrentAllocationGroup" that gets stored in the header of debug blocks, but there's no filter in FastMM_WalkBlocks to filter by allocation group - that has to happen client side (at least currently).

Are you specifically after something like the LogAllocatedBlocksToFile call in FastMM4?

dcabale commented 1 year ago

Exactly, such FastMM4 procedure LogAllocatedBlocksToFile(AFirstAllocationGroupToLog, ALastAllocationGroupToLog: Cardinal) and procedure PushAllocationGroup(ANewCurrentAllocationGroup: Cardinal) that publish Allocation Groups to the user are missing in FastMM5. And as you perfectly understood my need, function FastMM_WalkBlocks(xxxx) does not provide such a Allocation Groups filter. Thanks for your understanding

pleriche commented 1 year ago

Ok, I'll see what I can do.

pleriche commented 1 year ago

Please see the latest commit and confirm whether this addresses your request adequately.

dcabale commented 1 year ago

After a little test, it seems to satisfy my request -> Thanks a lot !