我有文件的真正的大集合,我的任務是打開一對夫婦從這個集合隨機文件對待自己的內容作爲一個整數集,使它的一個交集。檔案開放/閱讀語言的速度是否依賴?
這個過程是相當緩慢由於從磁盤讀取文件到內存中,所以我不知道是否從文件中讀取這個過程可以通過一些「快速」語言改寫我的程序來加快長的時間。目前我正在使用python,這對於這類工作可能是低效的。 (我可以實現自己的測試,如果我知道Python及JavaScript之外的其他語言...)
也將會把所有的日期到數據庫的幫助?無論如何,文件不會適合RAM,所以它只會在數據庫相關的開銷下再次從磁盤讀取數據。
文件的內容是長整數的列表。 90%的文件很小,不到10-20MB,但剩下的10%大約是100-200MB。作爲輸入有文件名,我需要讀取每個文件中給出的每個文件和輸出整數。 我試圖把這個數據在MongoDB中但那是基於方法純文本文件慢,因爲我試圖用蒙戈指數的能力和蒙戈不存儲索引在RAM中。 現在,我只是將最大的文件的10%和休息存儲在redis中,有時會訪問這些大文件。這顯然是暫時的解決方案,因爲我的數據增長了,而可用的RAM數量卻沒有。
是不是在執行_anything_語言相關的速度? – 2012-08-04 01:55:13
您是否需要訪問這些文件中的所有數據,或者只需選擇文件中的數據?如果是後者,使用''mmap''可能會更快。另外''numpy''可能會使內存中的數字存儲(並計算它們的交點)效率更高。對於磁盤存儲,可能考慮使用''hdf5''?你能更詳細地描述你已經嘗試過什麼,並提供這些文件性質的更多細節? – imm 2012-08-04 01:58:04
@MattBall儘管所有的「現代」語言都有先進的編譯器/譯者,它們可以有效地處理簡單的案例,所以如果有改寫的話,重寫將是無法接受的。 – Moonwalker 2012-08-04 01:58:28