看板 Programming 關於我們 聯絡資訊
小弟最近要處理幾百萬筆的資料,格式以.txt檔為主 除了原本的資料檔外,還要另外Output出兩個檔 兩個檔的差別就在於 一個檔是印出原本資料檔裡,所有重複的字串 而另一個檔則是印出原本資料檔裡,所有不重複的字串 而小弟所遇到的問題就是 我在程式裡每讀一筆資料,就要跟之前的"""已讀的"""資料比對一次 然後就很耗時間........ 想問大家有沒有哪種"""程式語言"""(混合也可),可以較為快速處理大量的文字資料 ----- PS希望可以不要用到database來處理 先感謝大家了>___<" ----- 補充一下,目前小弟是用python中的字典,來存放key和value 跑了半小時,只跑了5000筆資料><" -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.172.92.111
streitleak:你需要的是夠大的RAM來跑 1.34.71.45 09/10 00:21
streitleak:基本上 先把檔案丟到RAM裡去比對 1.34.71.45 09/10 00:22
streitleak:會比你用IO的方式比對快很多 1.34.71.45 09/10 00:22
jackal11:喔喔,謝謝大大>< 1.172.92.111 09/10 00:33
jackal11:只是想問問有沒有可以讓處理速度更快的程 1.172.92.111 09/10 00:36
jackal11:式語言,GOOGLE後有發現好像有些程式語言 1.172.92.111 09/10 00:37
jackal11:在處理大量資料上,速度會有所差異 1.172.92.111 09/10 00:37
※ 編輯: jackal11 來自: 1.172.92.111 (09/10 00:38)
MOONRAKER:用hashtable不就結了。 114.45.202.196 09/10 02:10
MOONRAKER:不然就是搜尋樹。 114.45.202.196 09/10 02:11
MOONRAKER:再不然裝SQL來用。怎樣都比你現在好。 114.45.202.196 09/10 02:11
streitleak:實際上 你的問題癥結點不在那個"語言" 1.34.71.45 09/10 10:18
streitleak:而是你的資料結構跟演算法 1.34.71.45 09/10 10:19
streitleak:以前cpu慢得時候 或許語言速度差異很 1.34.71.45 09/10 10:19
streitleak:顯 但現在除非是量大到很誇張的地步 1.34.71.45 09/10 10:19
streitleak:不然通常已經很難看出差異點了 1.34.71.45 09/10 10:19
Lordaeron:是你看不出差異而已吧. 210.59.250.101 09/10 11:10
jackal11:好的,謝謝以上大大的指導>___< 1.172.92.111 09/10 15:27
MOONRAKER:SQL是你最好的朋友。不然就先uniq再diff 118.163.12.174 09/10 18:11
MOONRAKER:不過那麼多筆uniq可能會爆炸,哈哈 118.163.12.174 09/10 18:11
※ 編輯: jackal11 來自: 1.172.92.111 (09/10 21:55)
MOONRAKER:為啥不要db 自己查一下uniq, diff是啥 114.45.203.126 09/11 06:24
buganini:python有那麼慢?! 61.221.51.22 09/13 01:54