List::MoreUtils 的each_array() 和each_arrayref() 中存在内存泄漏吗?

2023-12-31

我刚刚使用 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; before 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 http://cpansearch.perl.org/src/ADAMK/List-MoreUtils-0.32/Changes

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

List::MoreUtils 的each_array() 和each_arrayref() 中存在内存泄漏吗? 的相关文章

  • 在 Perl 中查找数组的大小

    我似乎遇到过几种不同的方法来查找数组的大小 这三种方法有什么区别呢 my arr 2 print scalar arr First way to print array size print arr Second way to print
  • 从具有不同活动 perl 版本的另一个 perl 脚本调用 perl 函数

    我们有两个版本的 Active perl 5 6 和 5 24 我们有必须在 Active perl 5 24 版本 采用 TLS 1 2 版本 上执行的 Web 服务 并且需要从 Active perl 5 6 版本调用 我们使用的是wi
  • Log4Perl 将多个程序的日志记录捆绑到一个日志中

    CPAN 上是否有任何 Logger 它允许我将多个程序的日志捆绑到一个文件中 并在两个程序同时运行并并行调用 log4Perl 时同步并行日志记录 背景是我使用一个自定义附加程序来写入电子邮件 我想将所有电子邮件捆绑在一个文件中作为备份
  • 如何在 Perl 中的不同包之间共享全局值?

    是否有一种标准方法可以对模块进行编码以保存要包含在每个其他包中的全局应用程序参数 例如 use Config 一个简单的包 只包含our变量 只读变量怎么样 已经有一个标准配置模块 http perldoc perl org Config
  • “get”在 Perl 中不起作用

    我是 Perl 新手 在过去的几天里 我制作了一些简单的脚本 通过 get 将网站的源代码保存到我的计算机上 他们做了他们应该做的事情 但不会获得论坛网站的内容 非论坛网站工作得很好 知道发生了什么事吗 这是问题块 my url http
  • Emacs cperl - 常量块中的缩进

    我正在运行基于 GNU Emacs 24 3 50 2 的 Aquamacs 3 0a cperl 版本是 6 2 当我编辑 Perl 常量块时 我得到了我不想要的额外缩进 use constant ONE gt 1 TWO gt 2 TH
  • 无法在 Mac 上安装 DBD::mysql

    第一次发帖 格式可能不太对 请见谅 我一直在尝试使用 cpan 在 macOS Catalina 上安装 DBD mysql 但尚未成功 我使用了perlbrew 并尝试了mysql和mariaDB 但仍然没有成功 另外 我在网上研究了不同
  • 由于握手问题,PerL SSL 连接尝试失败

    我希望有人可以提供帮助 我正在使用 nagios 插件 check ilo2 health 该插件在我们的 OpenSuSE 系统上运行良好 但新的 Ubuntu 14 04 系统有问题 删除 nagios 的东西并运行 perl 基本上是
  • 如何从 Perl 中的 Subversion 预提交挂钩访问提交的文件?

    我需要执行以下操作 用 Perl 编写预提交钩子 Hook 应检查所有提交的文件是否存在某些文本 如果未找到该文本则失败 基本上 我需要一个读取正在提交的文件的 Perl 钩子示例 我真的在寻找一些代码量最少的优雅解决方案 笔记 钩子应该使
  • 匹配有限自然数列

    我怎样才能匹配有限自然数 http en wikipedia org wiki Natural number正则表达式系列 所以 要求是 字符串包含数字和空格 作为分隔符 第一个数字是1 每个数字 第一个数字除外 等于前一个数字 1 应该是
  • Perl 脚本(或任何东西)来合计 CSV 列

    我写了 在其他人的很多帮助下 awk command https stackoverflow com questions 4159224 excel and awk disagree about csv totals 4159404 415
  • Perl Moose TypeDecorator 错误。我该如何调试?

    我最近遇到了一个问题 非常感谢您的见解 我在圣诞节前在 PerlMonks 上发布了类似的问题 并提供了一些从 MooseX Declare 切换的反馈 http www perlmonks org node id 877703 1 我现在
  • Perl - 以相反的顺序逐行读取文件[重复]

    这个问题在这里已经有答案了 可能的重复 如何在 Perl 中从文件末尾读取行 https stackoverflow com questions 303053 how can i read lines from the end of fil
  • 如何检测已更改的网页?

    在我的应用程序中 我使用 LWP 定期获取网页 无论如何 是否要检查两次连续提取之间网页是否在某些方面发生了变化 除了明确进行比较之外 是否有在较低协议层生成的任何签名 例如 CRC 可以提取并与旧签名进行比较以查看可能的更改 有两种可能的
  • Perl 中如何释放内存?

    我的代码如下所示 my var my var new while 1 while my k v each var a sub v var A map var var new keys var new var new B sub a sub
  • 使用perl,在每行都有相同单词的情况下如何选择最后两行?

    Bini 21 89753 20 47853 20 27835 18 34952 16 23454 Bini 16 89753 14 47853 13 27835 12 34952 11 23454 Bini 10 09014 我的文件有一
  • 如何从 R 运行带有特定模块的 perl 脚本?

    我可以从终端运行 perl 脚本 myperlscript pl 没有任何问题 但是 如果我尝试从 RStudio 中运行相同的 perl 脚本 则会出现以下错误 command lt myperlscript pl outputfile
  • 在压缩存档内的文本文件上运行“head”,而不解压存档

    问候 我接手了之前的团队并编写了处理 csv 文件的 ETL 作业 我在 ubuntu 上结合使用 shell 脚本和 perl csv 文件很大 它们以压缩档案形式到达 解压后 很多都超过 30Gb 是的 那是 G 旧进程是在 cron
  • 如何使用 Perl 更改 mysql 密码

    我需要使用 Perl 脚本更改一些 mysql 密码 以下内容在更改数据库条目时有效 但是当我针对 mysql 用户更改修改它时 它将它们重置为空白密码 最后 刷新权限 也很好 但我还没有找到方法 usr bin perl use DBI
  • 为什么我只得到第一个捕获组?

    https stackoverflow com a 2304626 6607497 https stackoverflow com a 2304626 6607497 and https stackoverflow com a 370042

随机推荐

  • 使用适用于 Windows 的 Git 推送到 GitHub 时出错

    我已经在 GitHub 上创建了一个 Git 存储库 也创建了一个本地存储库 首先 我将远程存储库拉入本地存储库 然后我添加了一个文件 暂存该文件 提交了它 现在我尝试再次推送到远程存储库 但失败并显示以下消息 Pushing to htt
  • 在 Flutter 中隐藏滚动条上的底部导航栏

    我在正文和底部导航栏中有一个博客文章列表 我想在帖子列表向下滚动时使用向下滑动动画隐藏底部导航栏 并在向上滚动时使用向上滑动动画可见 怎么做 此解决方案只是解决此问题的方法 可能会发生一些有害的变化 import package flutt
  • Linq to NHibernate 与 ICriteria

    我通常经常使用 LINQ 尤其是 LINQ to Objects 因此我对 LINQ 相当熟练 我正在考虑使用 LINQ to NHibernate 作为我的 NHibernate 项目的查询语言 当我编写一些测试时 我注意到 LINQ t
  • 使用 Spring Kafka 添加自定义标头

    我计划使用 Spring Kafka 客户端在 Spring Boot 应用程序中使用 kafka 设置并生成消息 我看到 Kafka 0 11 中对自定义标头的支持详情here https issues apache org jira b
  • ionic 2 - inappbrowser“browser.on(...).subscribe 不是函数”错误

    我遵循这个http ionicframework com docs native in app browser http ionicframework com docs native in app browser 在appbrowser中使
  • Ruby 解压数组以阻止

    settings 127 0 0 1 80 0 0 0 0 443 我能怎么做 settings each do ip port end 代替 settings each do config ip port config end 您的第一个
  • 为什么我的图标不会在新的 Chrome 网上应用店中显示为完整尺寸?

    我在 Chrome 应用商店中发布了一个扩展程序 昨晚 网上商店的外观焕然一新 现在我的图标看起来非常小 位于拼图游戏的内部 我跟着指示 https developer chrome com extensions manifest icon
  • iPhone - 是否不可能获取 CALayers 组合的内容?

    我在屏幕外 UIView 比 320x480 大得多 上有一个 CALayer 进行 3D 转换 如何将 UIView 上看到的内容转储到 UIImage 中 注意 我已经编辑了问题以包含此代码 这就是我创建图层的方式 CGRect are
  • 如何从ITK注册中获得变换仿射?

    进行 3D MRI 扫描A B and C我想执行仿射 联合 配准B onto A 取配准的变换仿射矩阵并将其应用于C 我的问题是配准变换的仿射矩阵的符号错误 也许是因为方向错误 The TransformParameters包含 12 个
  • 从 UIColor 预设中获取 RGB 值

    在我的应用程序中 我将 RGB 颜色值传递给服务器 我的应用程序使用 UIColor 预定义值 例如 UIColor greyColor UIColor redColor 我知道我可以使用以下代码 const CGFloat c CGCol
  • 使用双指针时的奇怪行为

    我需要帮助来理解为什么在这个小程序中我无法正确操作指针 include
  • 如何在 vim 中创建映射以自动执行 .h c++ 文件的 ifdef 命令

    如何在 vim 中创建映射以自动执行 h c 文件的 ifdef 命令 基本上我想要一个映射来创建以下可与 h 和 hpp 等一起使用的内容 ifndef
  • 使用 Android AccountManager 进行第三方 OAuth2 授权

    我正在开发一个应用程序 需要通过 OAuth2 从第三方网络服务获得授权 第三方意味着它不是 Google 并且我不拥有它 本文 http developer android com training id auth authenticat
  • Python 中的欧拉项目#8

    求 1000 位数字中 5 个连续数字的最大乘积 import time num 73167176531330624919225119674426574742355349194934 9698352031277450632623957831
  • 如何实现didReceiveMemoryWarning?

    我开发了一个简单的位置感知 iPhone 应用程序 除了手机内存不足的情况外 该应用程序的功能非常符合我们的预期 在手机内存不足的情况下 我的应用程序只会崩溃 如果我通过释放一些空间来增加手机内存 它会再次开始正常工作而不会发生任何崩溃 当
  • Python 文件读+写

    我正在致力于将数据库从自定义 MSSQL CMS 移植到 MYSQL Wordpress 我正在使用 Python 读取 txt 文件 t划定的列和每行一行 我正在尝试编写一个 Python 脚本来读取此文件 fread 并 最终 创建一个
  • std::tuple 的实现是否允许因触发空类元素的派生到基类转换而失败?

    此代码无法使用 GCC4 7 编译 struct A void f A struct B B std tuple a void f B int main f std make tuple A 因为GCC源自A利用空基类优化 然而 这导致 G
  • 构建方法多久被调用一次?

    我注意到构建方法在 flutter 应用程序中经常被调用 我知道如果 statefulWidget 中页面的状态发生变化 则会触发构建方法 但我也注意到 即使应用程序中没有任何更改 也会调用构建方法 考虑到您将应用程序留给自己的情况 构建方
  • 有没有办法记录 Objective-C 实例的所有属性值

    我只是想知道是否有一种快速简便的方法可以将我的类的属性的所有各种值打印到日志中以进行调试 就像我想知道所有 BOOL 浮点数等的值是什么 这个问题 https stackoverflow com questions 9269372 loop
  • List::MoreUtils 的each_array() 和each_arrayref() 中存在内存泄漏吗?

    我刚刚使用 List MoreUtils 中的each array 和each arrayref 发现了严重的内存泄漏 这三行代码是每次运行时执行四千次的子例程的一部分 我的目标是为哈希中已有的值提供正确的格式 我有固定数量的哈希键和每个哈