作者teyton (ton)
看板Perl
標題[問題] 逐行處理大檔有更快的方法嗎
時間Sun Apr 26 00:40:57 2009
請教各位高手,
我需要用perl對大檔做典型的每行比對擷取處理工作,
可是效能似乎不佳,是逐行處理的工作本身就一定很慢?或是有沒有更快的寫法呢?
感恩!
ps. 我有拿掉處理資訊的部分,效能還是很慢,確認瓶頸不是在那邊
open (MYFILE, 'largeFile.txt');
while (<MYFILE>) {
chomp;
# 判斷該行是否需要,若不需要直接跳一下行
# 對該行做字串比對
# 擷取行中部分資訊
# 處理資訊
}
close (MYFILE);
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.105.15.131
1F:推 abliou:看你的記憶體夠不夠大,夠就全部丟下去看會不會快點 04/26 00:44
2F:推 LiloHuang:整個讀進來反而更慢 這樣已經是最快的作法了 04/26 02:19
3F:推 LiloHuang:如果你還是認為很慢 那你可以用C寫一個版本測測看 04/26 02:19
4F:推 LiloHuang:如果速度有改善那就用 perlxs 寫一個模組囉 :) 04/26 02:20
5F:→ weiyucsie:可以先用grep取出需要的部份嗎?XD 如果行數不多的話 04/26 03:17
6F:推 weiyucsie:我指的是需要的行數不多 且可以用regex判斷的話 04/26 03:33
7F:→ teyton:瞭解..全部讀進來我試過真的較慢..我可以試試perlxs和grep 04/26 10:48