Re: 大容量儲存 的結構問題

看板C_Sharp (C#)作者 (U SUCK)時間19年前 (2006/02/27 15:24), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/5 (看更多)
※ 引述《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
文章代碼(AID): #140gahc- (C_Sharp)
討論串 (同標題文章)
文章代碼(AID): #140gahc- (C_Sharp)