免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3849 | 回复: 4
打印 上一主题 下一主题

Perl 函数参数 大小限制? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-04-29 18:46 |只看该作者 |倒序浏览
perl的函数参数 大小是否有限制呢?程序出现out of memory,debug后发现是由于下面的函数第二个匿名hash造成的。
代码如下
  1.        
  2. my $objXXXX = XXXXXX::new($_LOG, {
  3.                 'ref_flow' => $phHash1,        # key, value比较多,层次比较深,但大小绝对没有10M以上,这个引用用空hash代替就不会出现out of memory
  4.                 'tag_flow' => $phHash2,       # 同上
  5.                 'svg' => $xxxxx,
  6.                 'only_diff' => $xxxxxx,
  7.                 'ignore_group' => $xxxxxx,
  8.                     'color' => {
  9.                           'diff' => $xxxxx,
  10.                           'add'  => $xxxxxx,
  11.                           'del' => $xxxxx,
  12.                           'bckgrd' => $xxxxxx,
  13.                    },
  14.                   'height' => $piHeight,
  15.                   'width'  => $piWidth,
  16.         });
复制代码

论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
2 [报告]
发表于 2014-04-29 19:50 |只看该作者
那两个都只是引用,你倒是该看看 XXXXXX::new 的代码

论坛徽章:
0
3 [报告]
发表于 2014-04-29 22:24 |只看该作者
仔细debug了,确实不是 XXXXXX::new 里面的问题, 而且代码连XXXXXX::new里面都没进入 就报 out of memory 了。
另外又发现一个奇怪的地方就是 我用perl xxx.pl 这种方式没有问题, 但是用PP打包后 允许才有问题。
回复 2# zhlong8


   

求职 : 软件工程师
论坛徽章:
3
程序设计版块每日发帖之星
日期:2015-10-07 06:20:00程序设计版块每日发帖之星
日期:2015-12-13 06:20:00程序设计版块每日发帖之星
日期:2016-05-05 06:20:00
4 [报告]
发表于 2014-04-29 23:09 |只看该作者
Perl 对数据的大小不做限制,除非系统的内存的限制。Hash 在内存中的开销是很大的,实际占用内存的量要远远大于数据本身的大小。如果是 PP 打包后出现的问题,也许是编译的时候,对 Hash 的大小做的设定,出现了内存溢出。

根据我的习惯,大的数据,通常都保存为外部文件,在用的时候再动态的加载。

还有一种情况会在处理小数据的时候,发生内存溢出,就是出现了互相包含的变量,垃圾回收不能正常回收,动态的多次加载后,内存的消耗就会成倍的增加。

论坛徽章:
0
5 [报告]
发表于 2014-05-13 14:05 |只看该作者
发现问题了 原来是Data:umper的原因
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP