![]() |
||
|
Master Member
![]() ![]() ![]() ![]() 加入日期: Nov 2010
文章: 2,414
|
程式設計問題:暫存檔問題
事情是這樣的
我的研究有一部分是寫一個齒輪受力分析程式做數值解 現在的問題是他會輸出一個求解用矩陣(倍精度浮點數陣列) 這個矩陣太大了(佔記憶體 38GB) 但實際上這個矩陣在大部份的時間都用不到,放在記憶體內很浪費 老師希望可以找出方法可以保留陣列型態的方式把他暫存在硬碟中 但目前google到的都是轉成文字檔寫入檔案(C++ VB Delphi...) 不知道有沒有其他語言有支援這種功能的? 或是有其他解決方法?
__________________
新。弱弱的戰績
|
|||||||
|
|
|
Golden Member
![]() ![]() ![]() ![]() 加入日期: Jun 2002 您的住址: 地獄18層
文章: 3,265
|
根據以往的經驗
知道"結果要什麼",然後再去尋找解答的方法 老師講的建議,聽聽就好
__________________
徵你不要的AM4 CPU 徵你不要的SATA接頭斷裂SSD
|
||
|
|
|
Amateur Member
![]() 加入日期: Jun 2002 您的住址: 太陽系
文章: 32
|
假設計算用電腦的記憶體
1.小於38GB,那麼系統可能已經實現你的要求 2.大於38GB,那你特別把它寫到硬碟上純粹浪費I/O效能... 既然大多數時間用不到 那為什麼不是修改程式於使用前再輸出這個矩陣? |
|
|
|
Advance Member
![]() ![]() 加入日期: Jul 2012 您的住址: 新竹
文章: 409
|
如果只是把記憶體內容丟到檔案.
樓主似乎把問題複雜了. 開個二進位的暫存檔案寫進去就好了. 想寫什麼就寫什麼. 如果矩陣大部分是零,寫檔之前找個簡單的壓縮程式壓一下就好了. 此文章於 2014-11-28 02:35 PM 被 27681049 編輯. |
|
|
|
Junior Member
![]() ![]() ![]() 加入日期: Feb 2013
文章: 779
|
矩陣每個元素都有非零的值嗎?
matlab 對 sparse martrix 有特別的用法。 |
|
|
|
Master Member
![]() ![]() ![]() ![]() 加入日期: Mar 2012
文章: 2,353
|
引用:
這句巴了好多老師的臉 ![]() |
|
|
|
|
Advance Member
![]() ![]() 加入日期: Apr 2001
文章: 465
|
引用:
二進位暫存檔案是正解,先解決問題. 最佳化(優化),後續再處理,不要本末倒置 ![]() 其實不最佳化也可以,現在硬體很便宜,或用系統本身功能如cache,ssd就可以 ![]()
__________________
ps.請看簽名,不準砲我 ![]() #相信政府 #相信黨 #台灣價值好棒棒 潛水~~~潛水~~~
|
|
|
|
|
Major Member
![]() 加入日期: Dec 2000
文章: 125
|
將你 GOOGLE 來的程式,增添或修改成具備緩衝區
功能的虛擬陣列,保留 64K RAM當緩衝區,直接用 陣列索引當雜湊值,全陣列置入 SSD,結案。 |
|
|
|
Advance Member
![]() ![]() 加入日期: Jul 2012 您的住址: 新竹
文章: 409
|
引用:
最佳化!!! 好令我感動的用語 ...優化 ,優化 ... 我怎麼聽都不習慣... ![]() |
|
|
|