推 jokester:把Alist換成Aset, in應該會變快 07/09 23:07
→ jokester:相應改成 Aset=set(); Aset.add(); row[0:5] in Aset; 07/09 23:11
推 walao81:如果在linux底下,用subprocess run grep 會不會更快點? 07/09 23:13
感謝jokester,我會試試看,如果不會當掉的話
to walao81,有在考慮,但對linux不熟,如果換過方法還是一樣的話我會這樣做的
※ 編輯: sariel0322 (182.235.15.230), 07/09/2014 23:29:49
還是會當掉,跑第一個迴圈就當掉了,不論如何,先感謝
※ 編輯: sariel0322 (182.235.15.230), 07/09/2014 23:41:22
→ KSJ:當掉的原因是啥? 07/09 23:47
不清楚,研判是第2個迴圈導致第一個迴圈有問題(我也不能理解)
曾經把第二個迴圈拿掉,第一個迴圈有跑完
但是把第二個迴圈加上去跑第一個迴圈跑到快結束時就當掉了
http://ppt.cc/fF~U
補上計數,第一個迴圈的資料記得應該是19萬筆
在18萬多時就當在那邊了
還請高手詳解...
※ 編輯: sariel0322 (182.235.15.230), 07/10/2014 00:03:43
→ KSJ:你開工作管理員看一下 是不是記憶體不夠的問題 07/10 00:42
→ KSJ:用IDLE跑看看 紅字寫啥 07/10 00:42
看起來記憶體是沒問題、CPU也是,不過磁碟的讀取跟寫入幾乎是滿的
如果是電腦資源不夠,有更好的寫法比較不吃電腦資源的嗎?
※ 編輯: sariel0322 (182.235.15.230), 07/10/2014 00:57:05
→ KSJ:用IDLE有紅字嗎? 07/10 01:01
→ KSJ:一直WRITE不flush 記憶體理論上會先滿才是 07/10 01:01
沒有耶,很不解
不過現在有時候放著會跑完了,可是看起來我要對應的資料(19萬個對應17GB)
結果第二個字串對應的迴圈中19萬個中的第一個結束後就自己結束了...
※ 編輯: sariel0322 (182.235.15.230), 07/10/2014 01:08:28
補上,有時候會當在那,有時至少會跑完一個就結束了
※ 編輯: sariel0322 (182.235.15.230), 07/10/2014 01:09:13
→ KSJ:跑出來的檔案結果有寫什麼進去嗎? 07/10 01:19