作者DearKurt (U SUCK)
看板C_Sharp
标题Re: 大容量储存 的结构问题
时间Mon Feb 27 15:40:41 2006
※ 引述《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
1F:推 rex20:有想过 但是都是循序有关联的 多谢建议 :) 02/27 18:38