请教,为何我的程序做1百万行的文件处理需要20多分钟????太慢了~!!!!

请教,为何我的程序做1百万行的文件处理需要20多分钟????太慢了~!!!!

问题已解决。谢谢各位。

我把文件全部读到数组中也是一样的慢/
不用一次读入数组中,用<读,>写
while(FILE)
{
....
}

这样试试看
试过也不行。
第一个while循环速度很快,关键是第二个while循环较慢。
perl写成这样的确不太好,你贴一下读入的文件格式吧。
不过我对不到一秒深表怀疑。
确实不到一秒,这个因该和文件格式无关,功能应该是没问题的,关键在于代码的优化。perl不是很熟,那位高说给分析一下。

关于过滤,为什么不用grep, map 之类的???
可以阿。shell实现很简单,我只是想知道为什么perl会这么慢。
我是指perl 中 grep, map 。
你写的那些对数组操作可能很费时。好像数组很大时,push,pop 之类的,比较费时。


QUOTE:
原帖由 forlorngenius 于 2008-4-29 17:12 发表
我是指perl 中 grep, map 。
你写的那些对数组操作可能很费时。好像数组很大时,push,pop 之类的,比较费时。

谢谢这位老兄你所说的确实是问题之一。问题已解决,最后3秒搞定。