Re: 大容量儲存 的結構問題
※ 引述《rex20 (丸子)》之銘言:
: 目前寫一隻數學程式
: 因為決策變數有4個引數
: X(i,j,k,z)
: 用到四維陣列
: 我是使用宣告二維的 struct
: struct 中再在宣告一二維陣列
: 最近陣列維度到了 1000*1000*10*10
: 差不多有一億個值要去指派
: 陣列實作 效能明顯變嫚
: 宣告就要等好久 = = (~ 1 min)
: 問題一 :
: 想請教各位前輩有什麼比較好的儲存方法可以建議呢 ?
HashTable很適合 不需事先指派浪費時間 只要把四個引數組成一個key
譬如用底限分隔引數形成一個字串如1_2_3_4
如果記憶體使用量仍然很大 就得考慮自己實作一個以硬碟儲存方式的HashTable
或是直接存到資料庫
: 問題二 :
: 在這很大的陣列中 去作值的運算
: 我電腦是 P4 3.4G 768MB RAM
: 在做迴圈(4維迴圈)的時候
如果每個迴圈運算都是彼此獨立的 可以考慮用多執行緒
這樣可以不必等一個迴圈運算完 就立即開始下一個迴圈
: 電腦跑很久
: 但 CPU 只吃 1~3 % RAM 吃100~200 MB 虛擬記憶體吃 2 G
: 感覺CPU 沒跑起來 是不是因為 struct & 陣列寫法侷限到了 ?
: 謝謝各位 :)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.104.82.154
推
02/27 18:38, , 1F
02/27 18:38, 1F
討論串 (同標題文章)
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章