yi wang wrote:
"边算边标记那些是处理过的,比如 move 到另一个目录。这样不必 fork/thread ... IPC,就是两类进程的分工。"---没看懂,能否再讲清楚些?
2009/8/13 joe jiang <lamp.purl@gmail.com>
最 简单的细分是这样的:
看看5秒中里面那些是 I/O,那些花在计算。个人感觉是其中没有多少花在计算。
最好是一次多些下载,然后慢慢在后台计算。边算边标记那些是处理过的,比如 move 到另一个目录。这样不必 fork/thread ... IPC,就是两类进程的分工。
2009/8/13 yi wang <wangyi2412@gmail.com>
我 现在知道的是可以用c的poll,或者直接使用外部调用wget,但是从perl的script调用一个外部程序貌似也有效率损失啊。还有更好的方法吗?
2009/8/13 yi wang <wangyi2412@gmail.com>
Hi, all!
请教一个性能方面的问题,应该是常碰到的吧。
需要下载远程xml文件(千万量级的文件数量,每个有10k左右)并进行处理后保存(处理后每个约3k)。
现使用的是get函数,一次请求若干xml后,直接调用xml::smart进行xml相关内容的提取,而后进行我们的计算,然后保存为新的若个个xml 文件。速度非常非常的低,平均5秒/xml,无法完成要求(照这个速度得用两年时间)!
想请教各位,除了提升处理算法的速度,有没有什么其他的办法提高整体性能。比如我用的请求函数是否还有更好的,xml处理时候还有更好的,用多线程/多进 程,文件打开、保存、关闭的方式等,有没有什么建议?搜索引擎的爬虫也会做类似更高难度的工作,不知道是怎么做的,有没有什么可以借鉴的?另外,有没有人 做过这种IO计算都密集的程序,用c和perl的效率比较?
--
和你在一起
-- Perl乐事 -- http://www.perlersh.org 我的博客 -- http://www.perlersh.org/blog.html
--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---
没有评论:
发表评论