1

私が言ったように、プログラムの実行時に使用される最大メモリを記録したいと思います。

4

2 に答える 2

5

Devel::Sizeスクリプトで使用されるすべてのデータ構造の合計メモリ サイズを測定するために、1 つの特定のデータ構造のメモリ サイズを一度に 1 つずつ測定しますProc::ProcessTable

Devel::Size と比較した簡単なスクリプトを次に示します。

 #!/usr/bin/perl -w
use strict;
use Proc::ProcessTable;
use Devel::Size qw(size);


my @arr = ('A' .. 'M');
my $devel_size = size(\@arr);
print "With DEVEL::SIZE I'm $devel_size bytes big\n";


my $t = Proc::ProcessTable->new();

foreach my $p ( @{$t->table} ) {
    if($p->pid() == $$) {
    print "With Proc::ProcessTable I'm ", $p->size(), " bytes big.\n";
        last;
    }
}

それは与えます:

DEVEL::SIZE私は104バイトの大きさです。私は5357568バイトの大きさです
Proc::ProcessTable

注:情報源: http://www.perlmonks.org/

于 2012-09-07T05:40:13.670 に答える
0

perlmonks でこれを見つけました、http://www.perlmonks.org/?node_id=498401 :

use Devel::Size qw/ total_size /;
print total_size( \%:: );
于 2012-09-07T00:24:01.507 に答える