显示数据结构正在使用的内存量

时间:2017-12-29 18:00:41

标签: memory size perl6

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

感谢。

1 个答案:

答案 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