Re: [fpc-pascal] Best practice for getting heap usage summary
On 19 Jan 2012, at 10:38, Mark Morgan Lloyd wrote: Mattias Gaertner wrote: Maybe you mean GetFPCHeapStatus http://lazarus-ccr.sourceforge.net/docs/rtl/system/getfpcheapstatus.html There is also the Delphi compatible GetHeapStatus, but only for 32bit. Yes, I was assuming that was necessary to get the THeapStatus block. I take it that you're confirming that this is the way to get the info, and that there aren't direct RTL calls. The above is a direct RTL call. But note that a) it is buggy in case of multi-threaded programs: http://bugs.freepascal.org/bug_view_advanced_page.php?bug_id=14315 b) it won't contain any information at all if you use cmem or another memory manager that does not keep track of allocation information. Jonas___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Best practice for getting heap usage summary
Mattias Gaertner wrote: On Thu, 19 Jan 2012 09:06:46 + Mark Morgan Lloyd wrote: What is considered "best practice" for getting a summary of heap usage, in a single-threaded program which doesn't need to be Delphi-compatible? In Delphi programs that have had to run for an extended period I've used AllocMemCOunt() and AllocMemSize(). What's the best way of getting something comparable for FPC- THeapStatus.TotalAllocated etc.? Maybe you mean GetFPCHeapStatus http://lazarus-ccr.sourceforge.net/docs/rtl/system/getfpcheapstatus.html There is also the Delphi compatible GetHeapStatus, but only for 32bit. Yes, I was assuming that was necessary to get the THeapStatus block. I take it that you're confirming that this is the way to get the info, and that there aren't direct RTL calls. -- Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues] ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Best practice for getting heap usage summary
On Thu, 19 Jan 2012 09:06:46 + Mark Morgan Lloyd wrote: > What is considered "best practice" for getting a summary of heap usage, > in a single-threaded program which doesn't need to be Delphi-compatible? > > In Delphi programs that have had to run for an extended period I've used > AllocMemCOunt() and AllocMemSize(). What's the best way of getting > something comparable for FPC- THeapStatus.TotalAllocated etc.? Maybe you mean GetFPCHeapStatus http://lazarus-ccr.sourceforge.net/docs/rtl/system/getfpcheapstatus.html There is also the Delphi compatible GetHeapStatus, but only for 32bit. Mattias ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal