logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Memory::Usage - Tools to determine actual memory usage

Author

       Dave O'Neill, "<dmo at dmo.ca>"

Bugs

       Please report any bugs or feature requests to "bug-memory-usage  at  rt.cpan.org",  or  through  the  web
       interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Memory-Usage>.  I will be notified, and then
       you'll automatically be notified of progress on your bug as I make changes.

Description

       This module lets you attempt to measure, from your operating system's perspective, how much memory a
       process is using at any given time.

Methods

ClassMethods
       new ( )
           Creates a new Memory::Usage object.  This object will contain usage state as recorded along the way.

   InstanceMethods
       record ( $message [, $pid ])
           Record  the  memory  usage at call time, logging it internally with the provided message.  Optionally
           takes a process ID to record memory usage for, defaulting to the current process.

       report ( )
           Generates report on memory usage.

       dump ( )
           Prints report on memory usage to stderr.

       state ( )
           Return arrayref of internal state.  Returned arrayref contains zero or more references to arrays with
           the following columns (in order).  All sizes are in kilobytes.

           timestamp (in seconds since epoch)
           message (as passed to ->record())
           virtual memory size
           resident set size
           shared memory size
           text (aka code or exe) size
           data and stack size

Name

       Memory::Usage - Tools to determine actual memory usage

See Also

       •   Memchmark

           Iteratively  run  coderefs  (similar  to  Benchmark)  and  compare  their  memory  usage.  Useful for
           optimizing specific subroutines with large memory usage once you've identified them as  memory  hogs.
           Uses  same technique for gathering usage information as this module, so accuracy and precision suffer
           similarly.

       •   Devel::Size

           Show the size of Perl variables.  Also useful for microoptimzations when you know what you're looking
           for.  Looks at Perl internals, so accuracy is good.

Support

       You can find documentation for this module with the perldoc command.

           perldoc Memory::Usage

       You can also look for information at:

       •   RT: CPAN's request tracker

           <http://rt.cpan.org/NoAuth/Bugs.html?Dist=Memory-Usage>

       •   Search CPAN

           <http://search.cpan.org/dist/Memory-Usage/>

Synopsis

           use Memory::Usage;
           my $mu = Memory::Usage->new();

           # Record amount of memory used by current process
           $mu->record('starting work');

           # Do the thing you want to measure
           $object->something_memory_intensive();

           # Record amount in use afterwards
           $mu->record('after something_memory_intensive()');

           # Spit out a report
           $mu->dump();

Version

       Version 0.201

See Also