我有一个巨大的哈希,包含大约10年的每日统计数据。在Perl 6中是否有一种方法可以确定此哈希使用的实际内存(以字节为单位)(例如showMemoryUsed(%myBigHash)
)。即使%myBigHash
为空,由于使用的内存和散列数据类型的Perl 6实现,它也不是零字节。此信息将告诉我是否需要重新实现我的代码或定期写入文件以缓解RAM不足(我的程序在带有2G RAM的虚拟化Linux上运行)。
感谢。
答案 0 :(得分:6)
唉,我们在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