直接用 Data::Dumper , Storable 试试
2009/6/11 Chancey <chanceycn@gmail.com>
恩 写了一个搜索Server,当索引文件大的时候,预加载很有问题。现在的情况:1.2M的索引文件 预加载后就占用25M的内存,之后分析是因为循环索引并构造HASH列表时产生的内存碎片过多造成的。所以在生成索引程序中打算直接把整个结构转为一个字符串,并以二进制格式写入索引文件,这样在Server预加载的时候就不用构造HASH列表,省去了初始化HASH列表的时间、也减少了索引文件本身的大小。这就是当前希望解决的问题。2009-06-11
Chancey
发件人: agentzh发送时间: 2009-06-11 14:04:14收件人: perlchina抄送:主题: [PerlChina] Re: 关于二进制数据的读取On 6/10/09, Chancey <chanceycn@gmail.com> wrote:> 请教一个问题:> 比如现在有一个 %hash 这样的HASH列表,我想以一个字符串的形式转为二进制数据写入文件,该如何做?>FreezeThaw?其自身的描述正好类似你所说的,呵呵:FreezeThaw - converting Perl structures to strings and back.也是二进制的。如果我没记错的话,这是 perl 数据结构序列化库中速度最快的(不是它,就是另一个二进行的序列化模块) :)不过个人以为纯文本比二进制更友好一些,所以多会使用 JSON::XS, YAML::Syck, Data::Dumper 这些模块,呵呵。。。Cheers,-agentzh
--
Yours Sincerely
Zeng Hong
--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---
没有评论:
发表评论