Devel::Size仅一次测量一个特定数据结构的内存大小,以测量脚本中使用的所有数据结构的总内存大小。在类似Unix的系统上,Proc::ProcessTable为此提供了一个不错的API:
这是一个简单的脚本,将其与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;
}
}
Run Code Online (Sandbox Code Playgroud)
它给:
随着DEVEL::SIZE我是104字节大。
随着Proc::ProcessTable我5357568字节大。
注意:信息来源:http : //www.perlmonks.org/
| 归档时间: |
|
| 查看次数: |
686 次 |
| 最近记录: |