我有一个巨大的哈希值,包含大约10年的每日统计数据。在Perl 6中是否有一种方法可以确定此哈希使用的实际内存(以字节为单位)(例如showMemoryUsed(%myBigHash)
)。即使%myBigHash
为空,由于使用的内存和散列数据类型的Perl 6实现,它也不是零字节。此信息将告诉我是否需要重新实现我的代码或定期写入文件以缓解RAM短缺(我的程序在具有2G RAM的虚拟化Linux上运行)。
谢谢。
唉,我们在Rakudo Perl 6中还没有这样的东西。我唯一能推荐的是使用Telemetry
模块:
use Telemetry;
my $before = T<max-rss>;
my %h = ...; # initialize hash
say "Memory usage grew { T<max-rss> - $before } KB";
有关更多信息,请查看遥测文档:https://docs.perl6.org/type/Telemetry