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