gpt4 book ai didi

perl - List::MoreUtils' each_array() 和 each_arrayref() 中的内存泄漏?

转载 作者:行者123 更新时间:2023-12-05 00:03:43 25 4
gpt4 key购买 nike

我刚刚使用 List::MoreUtils 中的 each_array() 和 each_arrayref() 发现了令人讨厌的内存泄漏。

这三行代码是每次运行执行四千次的子程序的一部分。
我的目标是为散列中已有的值提供正确的格式。我有固定数量的哈希键和每个哈希键的格式字符串。

my %hash = ();
# ...
my $two_arrays = each_arrayref( $field_list, $field_list_format );
while ( my ( $field, $format ) = $two_arrays->() ) {
$hash{ $field } = sprintf $format, $hash{ $field };
}

如果我坚持 return;之前 my $two_arrays ... ,泄漏消失。同 return;超过最后一行会使泄漏。

由于子程序是守护程序的一部分,我注意到内存( VIRT 和 RES )的持续增长。

我做错了什么吗?我不知道each_array() 或each_arrayref() 是否存在内存泄漏?
  • 列表::MoreUtil ( 版本 0.22 )
  • Linux 2.6.32-32-generic(Ubuntu 10.04)上的 Perl 5.12.1(带线程的 x86_64)
  • 最佳答案

    List::MoreUtil ( VERSION 0.22 ) 的日期是 2006 年 7 月,也就是 5 年前。当前版本是0.32,这个版本是否仍然存在泄漏?在最近的几个版本中修复了几个内存泄漏:http://cpansearch.perl.org/src/ADAMK/List-MoreUtils-0.32/Changes

    关于perl - List::MoreUtils' each_array() 和 each_arrayref() 中的内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6438266/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com