由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - java和c那个更快?
相关主题
R 里怎么骗R用虚拟内存?matlab textscan data loading limit
怎么提高C++计算精度? C++ vs Matlab (转载)高人指点怎么在embedded sys(atmel 系列)上写内存管理 (转载)
为啥matlab一直用列优先存储来存储array?程序员的电脑装 OS: 32-bit还是64-bit?
请教一个C内存泄露问题how to assign new value to loop variables?
如何模拟实现thrashing?如何优化这段C代码
问个排列组合的问题。。。LabVIEW问题:对高手来说很简单!
请教一下matlab的内存问题请教一道练习题(C,OS)
一般笔记本能跑Matlab吗?【包子求助】20M*20M的loop怎么搞?
相关话题的讨论汇总
话题: nb话题: end话题: loop话题: matlab话题: 30
进入Programming版参与讨论
1 (共1页)
s****1
发帖数: 425
1
我有一个200行的matlab code,由于数据量比较大,有几个百万量级的循环,能不用循
环的我都用矢量替代了。需要迭代
上千次,运行时间
也比较长(几天),我
32G 内存已经不够用了,不知道转成C或者java是不是有帮助?谢谢
l*********s
发帖数: 5409
2
java has a much larger memory foot-print, c shall help.
z*******3
发帖数: 13709
3
数据量比较大,运行时间比较长
这不是哪个快的问题,是你的内存管理出问题了
java可以让你省心,但是要看你是否能及时释放不需要的对象引用
c写的话,自己去写内存管理,不过只有200行的话,也许也不是那么难就是了
t****t
发帖数: 6806
4
200来行的代码, 数据量又很大的话, 应该是matlab比较快.
转成C的话有些东西可以原地做, 但是帮助应该比较有限. java就算了.

【在 s****1 的大作中提到】
: 我有一个200行的matlab code,由于数据量比较大,有几个百万量级的循环,能不用循
: 环的我都用矢量替代了。需要迭代
: 上千次,运行时间
: 也比较长(几天),我
: 32G 内存已经不够用了,不知道转成C或者java是不是有帮助?谢谢

z*******3
发帖数: 13709
5
32g都不够用的话,直接上hpc了
g*****g
发帖数: 34805
6
再买32G,这年头,哪有为了32G内存重新程序的。

【在 s****1 的大作中提到】
: 我有一个200行的matlab code,由于数据量比较大,有几个百万量级的循环,能不用循
: 环的我都用矢量替代了。需要迭代
: 上千次,运行时间
: 也比较长(几天),我
: 32G 内存已经不够用了,不知道转成C或者java是不是有帮助?谢谢

f******y
发帖数: 2971
7
C应该能省一些内存。

【在 s****1 的大作中提到】
: 我有一个200行的matlab code,由于数据量比较大,有几个百万量级的循环,能不用循
: 环的我都用矢量替代了。需要迭代
: 上千次,运行时间
: 也比较长(几天),我
: 32G 内存已经不够用了,不知道转成C或者java是不是有帮助?谢谢

g*********e
发帖数: 14401
8
不是有虚拟内存吗?怎么会内存不够
c****e
发帖数: 1453
9
Matlab vector is very efficient. I doubt you will get any benefit by
rewriting the program in C. Since your code is short, you should be able to
estimate the memory footprint pretty accurately. Can you find a more
powerful machine to run it? You can create a high memory VM on AWS or
Windows Azure, it should cost you less than $100 for a couple of days, and
you can get up to 2XXG bytes range.
b***i
发帖数: 3043
10
用了虚拟内存才慢.

【在 g*********e 的大作中提到】
: 不是有虚拟内存吗?怎么会内存不够
相关主题
问个排列组合的问题。。。matlab textscan data loading limit
请教一下matlab的内存问题高人指点怎么在embedded sys(atmel 系列)上写内存管理 (转载)
一般笔记本能跑Matlab吗?程序员的电脑装 OS: 32-bit还是64-bit?
进入Programming版参与讨论
x****u
发帖数: 44466
11
不用更慢

【在 b***i 的大作中提到】
: 用了虚拟内存才慢.
b***i
发帖数: 3043
12
亮源代码吧。
我当年24个CPU,48个core,96G内存,算矩阵乘法。

【在 s****1 的大作中提到】
: 我有一个200行的matlab code,由于数据量比较大,有几个百万量级的循环,能不用循
: 环的我都用矢量替代了。需要迭代
: 上千次,运行时间
: 也比较长(几天),我
: 32G 内存已经不够用了,不知道转成C或者java是不是有帮助?谢谢

x****u
发帖数: 44466
13
矩阵要上GPU啊

【在 b***i 的大作中提到】
: 亮源代码吧。
: 我当年24个CPU,48个core,96G内存,算矩阵乘法。

y****e
发帖数: 23939
14
没错

【在 g*****g 的大作中提到】
: 再买32G,这年头,哪有为了32G内存重新程序的。
b***i
发帖数: 3043
15
no, without virtual memory, he should use more real memory.

【在 x****u 的大作中提到】
: 不用更慢
x****u
发帖数: 44466
16
那样的话加上虚存就更快。

【在 b***i 的大作中提到】
: no, without virtual memory, he should use more real memory.
b***i
发帖数: 3043
17
you misunderstood what is vm

【在 x****u 的大作中提到】
: 那样的话加上虚存就更快。
a******1
发帖数: 2340
18
32G内存估计是楼主所用平台的最大值了吧已经
如果再加32G估计要换整个平台了,比如LGA115X升到LGA2011,不知道楼主干不干
楼主parfor之类的并行运算有试过吗?
G*F
发帖数: 427
19
matlab 200行的程序,你确定能用C写出来? x=A\b就一行,可是要用C写个和matlab一
样numerically stable的版本出来也不是那么简单把。
t****t
发帖数: 6806
20
matlab也不过是调用别人的库, 这事C也能做.

【在 G*F 的大作中提到】
: matlab 200行的程序,你确定能用C写出来? x=A\b就一行,可是要用C写个和matlab一
: 样numerically stable的版本出来也不是那么简单把。

相关主题
how to assign new value to loop variables?请教一道练习题(C,OS)
如何优化这段C代码【包子求助】20M*20M的loop怎么搞?
LabVIEW问题:对高手来说很简单!如何实现N层循环嵌套
进入Programming版参与讨论
g*****y
发帖数: 7271
21
matlab用的intel的MKL吧,C里直接调MKL就是了。

【在 G*F 的大作中提到】
: matlab 200行的程序,你确定能用C写出来? x=A\b就一行,可是要用C写个和matlab一
: 样numerically stable的版本出来也不是那么简单把。

s****1
发帖数: 425
22
准备试试payfor,还没成功

【在 a******1 的大作中提到】
: 32G内存估计是楼主所用平台的最大值了吧已经
: 如果再加32G估计要换整个平台了,比如LGA115X升到LGA2011,不知道楼主干不干
: 楼主parfor之类的并行运算有试过吗?

S*********g
发帖数: 5298
23
matlab里有没有提前分配内存?有没有动态涨数组?

★ 发自iPhone App: ChineseWeb 7.8

【在 s****1 的大作中提到】
: 我有一个200行的matlab code,由于数据量比较大,有几个百万量级的循环,能不用循
: 环的我都用矢量替代了。需要迭代
: 上千次,运行时间
: 也比较长(几天),我
: 32G 内存已经不够用了,不知道转成C或者java是不是有帮助?谢谢

s****1
发帖数: 425
24
没有分配内存。有一个维数每次改变的数组

【在 S*********g 的大作中提到】
: matlab里有没有提前分配内存?有没有动态涨数组?
:
: ★ 发自iPhone App: ChineseWeb 7.8

H***3
发帖数: 821
25
先解决这个问题。建议所有的数组进循环以前都分配好。
就数组计算速度上来说,matlab本身是很快的。如果慢的话,先看有没有动态内存分配
,然后把loop尽量变成矢量运算。

【在 s****1 的大作中提到】
: 没有分配内存。有一个维数每次改变的数组
b***i
发帖数: 3043
26
你就不能敞开了说?藏着掖着干着急

【在 s****1 的大作中提到】
: 没有分配内存。有一个维数每次改变的数组
s****1
发帖数: 425
27
主要是不懂你们说的这些。什么分配内存呀,真没接触过。当时用了个长度每次改变的
矢量都觉得挺高级了。谢谢呀

【在 b***i 的大作中提到】
: 你就不能敞开了说?藏着掖着干着急
x****u
发帖数: 44466
28
这么说吧,把VM模块去掉,给你10倍内存,你的速度不降就不错了。

【在 b***i 的大作中提到】
: you misunderstood what is vm
k**********g
发帖数: 989
29
have you tried run the code with smaller data set (size) AND with MATLAB
profiler?
http://www.mathworks.com/help/matlab/ref/profile.html
This will tell you how much time is taken by each part of your code
s****1
发帖数: 425
30
主要是循环花的时间太多,用比较小的循环数还是比较快的,数据影响不大。

【在 k**********g 的大作中提到】
: have you tried run the code with smaller data set (size) AND with MATLAB
: profiler?
: http://www.mathworks.com/help/matlab/ref/profile.html
: This will tell you how much time is taken by each part of your code

相关主题
有熟悉CUDA的吗?不胜感谢赐教怎么提高C++计算精度? C++ vs Matlab (转载)
R竟然没有elseif / elif ?为啥matlab一直用列优先存储来存储array?
R 里怎么骗R用虚拟内存?请教一个C内存泄露问题
进入Programming版参与讨论
b***i
发帖数: 3043
31


【在 x****u 的大作中提到】
: 这么说吧,把VM模块去掉,给你10倍内存,你的速度不降就不错了。
b***i
发帖数: 3043
32
who said remove it? Supply more physical memory, more than the code needs
I think you are a robot.

【在 x****u 的大作中提到】
: 这么说吧,把VM模块去掉,给你10倍内存,你的速度不降就不错了。
x****u
发帖数: 44466
33
你这么容易忘事肯定是真人。

我是告诉你VM机制去掉后程序想跑的更快难度是非常大的。

【在 b***i 的大作中提到】
: no, without virtual memory, he should use more real memory.
m*******l
发帖数: 12782
34
难道不是rule nunmber one, no loop in matlab?

【在 s****1 的大作中提到】
: 主要是循环花的时间太多,用比较小的循环数还是比较快的,数据影响不大。
g*****y
发帖数: 7271
35
Yes. Hundred times slower.

【在 m*******l 的大作中提到】
: 难道不是rule nunmber one, no loop in matlab?
S*********g
发帖数: 5298
36
你要么提前分配好,要么按一定的比例涨,会省很多时间。要不然每个循环你都重新建
数组,会很慢

★ 发自iPhone App: ChineseWeb 7.8

【在 s****1 的大作中提到】
: 没有分配内存。有一个维数每次改变的数组
S*********g
发帖数: 5298
37
Matlab optimized for loop a few years ago

★ 发自iPhone App: ChineseWeb 7.8

【在 m*******l 的大作中提到】
: 难道不是rule nunmber one, no loop in matlab?
S*********g
发帖数: 5298
38
Instead of
for ti=1:10
a(end+1)=ti;
end
matlab will have to reallocate and create a new list every time
. The code will become slower and slower as you ti gets larger. The cost is
hyper linear in the size of your loop
Use:
a(10)=0;%this will allocate memory
for ti=1:10
a(ti)=ti;
end
Dynamic array is evil.

★ 发自iPhone App: ChineseWeb 7.8
★ 发自iPhone App: ChineseWeb 7.8

【在 s****1 的大作中提到】
: 主要是不懂你们说的这些。什么分配内存呀,真没接触过。当时用了个长度每次改变的
: 矢量都觉得挺高级了。谢谢呀

S*********g
发帖数: 5298
39
That is no longer true. For loop is actually faster if you don't have self
defined function in it.
If he preallocate his memory, I bet he will see an order of magnitude
improvement.

★ 发自iPhone App: ChineseWeb 7.8

【在 g*****y 的大作中提到】
: Yes. Hundred times slower.
C*********g
发帖数: 3728
40
现在都是multiple core CPU, 你用parfor,不要用动态数组,尽量vectorize优化一下,
不会多慢的.
相关主题
请教一个C内存泄露问题请教一下matlab的内存问题
如何模拟实现thrashing?一般笔记本能跑Matlab吗?
问个排列组合的问题。。。matlab textscan data loading limit
进入Programming版参与讨论
g*****y
发帖数: 7271
41
就是个把礼拜前写的程序,Matlab R2012b。一开始图省事,用的一个别人的
function,不支持矢量输入,就写了个for loop。那叫一个慢。
忍无可忍后改成矢量操作,至少快一百倍,没任何夸张!

【在 S*********g 的大作中提到】
: That is no longer true. For loop is actually faster if you don't have self
: defined function in it.
: If he preallocate his memory, I bet he will see an order of magnitude
: improvement.
:
: ★ 发自iPhone App: ChineseWeb 7.8

S*********g
发帖数: 5298
42
Are you sure it is the difference of for loop not the speed of third party
code?

★ 发自iPhone App: ChineseWeb 7.8

【在 g*****y 的大作中提到】
: 就是个把礼拜前写的程序,Matlab R2012b。一开始图省事,用的一个别人的
: function,不支持矢量输入,就写了个for loop。那叫一个慢。
: 忍无可忍后改成矢量操作,至少快一百倍,没任何夸张!

g*****y
发帖数: 7271
43
没有3rd part code,全matlab scripts,只是把一个简单function改成矢量
输入输出(5-10行code而已),然后主程序去掉loop,也改成矢量操作。
也没有动态数组之类的,就是一开头读一个图形,然后pixel by pixel的操作而已,
简单得没法再简单了。loop速度之慢,小朋友们都震惊了。

【在 S*********g 的大作中提到】
: Are you sure it is the difference of for loop not the speed of third party
: code?
:
: ★ 发自iPhone App: ChineseWeb 7.8

G*F
发帖数: 427
44
没那么简单。我原帖里是 x = A b, 不是 A*b. 你试试A如果是tall matrix, 还是
fat matrix,看看结果有什么不同?

【在 g*****y 的大作中提到】
: matlab用的intel的MKL吧,C里直接调MKL就是了。
b***i
发帖数: 3043
45
谁说去掉VM机制,你总是断章取义。
前面有人说,物理内存是不是不够,然后有个人说,不是有虚拟内存吗,
我回的是后面的人。这就看出来,你是个机器人,因为你只能判断一个人的话,不能追
溯到上文。

【在 x****u 的大作中提到】
: 你这么容易忘事肯定是真人。
:
: 我是告诉你VM机制去掉后程序想跑的更快难度是非常大的。

x****u
发帖数: 44466
46
去掉VM不等于去掉VM机制,你在考验大家智商么?

【在 b***i 的大作中提到】
: 谁说去掉VM机制,你总是断章取义。
: 前面有人说,物理内存是不是不够,然后有个人说,不是有虚拟内存吗,
: 我回的是后面的人。这就看出来,你是个机器人,因为你只能判断一个人的话,不能追
: 溯到上文。

S*********g
发帖数: 5298
47
更大的可能性是你的for loop里边的东西写得太差
你要是有兴趣可以看一下这个文档:
http://www.ee.columbia.edu/~marios/matlab/accel_matlab.pdf

【在 g*****y 的大作中提到】
: 没有3rd part code,全matlab scripts,只是把一个简单function改成矢量
: 输入输出(5-10行code而已),然后主程序去掉loop,也改成矢量操作。
: 也没有动态数组之类的,就是一开头读一个图形,然后pixel by pixel的操作而已,
: 简单得没法再简单了。loop速度之慢,小朋友们都震惊了。

g*****y
发帖数: 7271
48
写得太差就写得太差呗,就是for loop里call了一个自己的function
而已,就土鳖掉了。照文档里只用build-in function才能快,这有意义么?
真要速度,有时间去优化改成build-in function calls,我还不如
用C++写了。这么多限制条件下说速度不慢有意义么?谁for loop里只
需要matlab build-in function就够了的?
改成矢量操作后,其实code更烂了,一堆的copy,dynamic array,
照样比for loop快百倍。所以比较靠谱的还是建议尽量少用for loop。
真要相信那种烂七八糟的benchmark,肯定死得很难看。

【在 S*********g 的大作中提到】
: 更大的可能性是你的for loop里边的东西写得太差
: 你要是有兴趣可以看一下这个文档:
: http://www.ee.columbia.edu/~marios/matlab/accel_matlab.pdf

b***i
发帖数: 3043
49
你从来都和大家不在一边
我说过去掉VM吗?你找找看。

【在 x****u 的大作中提到】
: 去掉VM不等于去掉VM机制,你在考验大家智商么?
p*u
发帖数: 2454
50

next time simply ignore it, not worth the time @ all

【在 b***i 的大作中提到】
: 你从来都和大家不在一边
: 我说过去掉VM吗?你找找看。

相关主题
高人指点怎么在embedded sys(atmel 系列)上写内存管理 (转载)如何优化这段C代码
程序员的电脑装 OS: 32-bit还是64-bit?LabVIEW问题:对高手来说很简单!
how to assign new value to loop variables?请教一道练习题(C,OS)
进入Programming版参与讨论
b***i
发帖数: 3043
51
为什么要清除wx wxx wxxx wxxxx h hh hhh hhhh yx yxx yxxx yxxxx?他们的结果被
谁用了?
ii loop能否不用循环?
Qw, mu, sigma在哪里被用?
%Initialization
for nb=1:3
for m=1:30
Qw(:,:,m,nb)=ones(cmax,1)*constant; % 1500000*4*30*3
mu(:,:,m,nb)=
sigma(:,:,m,nb)=
end
end
%g loop
for g=1:2000
%nb loop
for nb=1:3
x=batchdata(:,:,nb);%20000*800*3
.....
% m loop
for m=1:30
for i=1:numwits(:,nb)%1000000*3
w(i,m,nb)= normrnd(mu(i,j,m,nb),sigma(i,j,m,nb));%j=one of [1 2 3 ..
. 16]
end

h(:,:,m,nb)=; %1000*1000*30*3
hh(:,:,m,nb)=;%1000*800*30*3
hhh(:,:,m,nb)=;%800*500*30*3
hhhh(:,:,m,nb)=;%500*100*30*3

yx(:,:,m,nb)=;%100*500*30*3
yxx(:,:,m,nb)=;%500*800*30*3
yxxx(:,:,m,nb%800*1000*30*3
yxxxx(:,:,m,nb)=;%1000*1000*30*3
%why do you clear here?
clear wx wxx wxxx wxxxx h hh hhh hhhh yx yxx yxxx yxxxx


if err(m,nb)>errbest(m,nb)
num=intersect(numbest{:,m,nb}(:),exist(:)); %几十万
% ii loop. can't do it without loop?
for ii=1:length(num)
for i=1:k

c=bb{num(ii),:,m,nb}(i); %数组

if ...
...
elseif ...
...
else
...
end
...
end
end


else
...
for i=1:1000000

...

end


end

end



if error(nb)>serrbest(nb)
for ii=1:cmax
if ...
elseif ...
else
...
end

end
else
...

end
...
end

end
end
v***r
发帖数: 1046
52
大loop套loop的,用c吧。200行的程序,有纠结的工夫都写好了。

【在 s****1 的大作中提到】
: 我有一个200行的matlab code,由于数据量比较大,有几个百万量级的循环,能不用循
: 环的我都用矢量替代了。需要迭代
: 上千次,运行时间
: 也比较长(几天),我
: 32G 内存已经不够用了,不知道转成C或者java是不是有帮助?谢谢

s****1
发帖数: 425
53
wx ... yxxxx是计算的中间过程,我想清除了能减少内存负担吧,结果立即就被yxxxx
后面的一行用来计算另外一个量了,那个才是关键的。ii loop不能改成矢量,主要是
我只改变那些量中的一部分,比如num(ii)。Qw,mu等是关键的几个量,多处都在调用
和改变值。c=bb{num(ii),:,m,nb}(i); 是一个num会变的数组。不知道像这种
multidimensional array是不是也可以提前分配内存?谢谢

【在 b***i 的大作中提到】
: 为什么要清除wx wxx wxxx wxxxx h hh hhh hhhh yx yxx yxxx yxxxx?他们的结果被
: 谁用了?
: ii loop能否不用循环?
: Qw, mu, sigma在哪里被用?
: %Initialization
: for nb=1:3
: for m=1:30
: Qw(:,:,m,nb)=ones(cmax,1)*constant; % 1500000*4*30*3
: mu(:,:,m,nb)=
: sigma(:,:,m,nb)=

b***i
发帖数: 3043
54
你能不能算出最大的num,然后就在循环外提前分配好最多的内存,只不过,num少的时
候,大部分不用。这样不用反复分配内存。反正你多的内存又不会干别的用。

yxxxx

【在 s****1 的大作中提到】
: wx ... yxxxx是计算的中间过程,我想清除了能减少内存负担吧,结果立即就被yxxxx
: 后面的一行用来计算另外一个量了,那个才是关键的。ii loop不能改成矢量,主要是
: 我只改变那些量中的一部分,比如num(ii)。Qw,mu等是关键的几个量,多处都在调用
: 和改变值。c=bb{num(ii),:,m,nb}(i); 是一个num会变的数组。不知道像这种
: multidimensional array是不是也可以提前分配内存?谢谢

g*****s
发帖数: 1288
55
为什么会有这么弱智的问题? java之所以有时候看上去跟c一样快是因为调用了带Java
接口的C写的库。

【在 s****1 的大作中提到】
: 我有一个200行的matlab code,由于数据量比较大,有几个百万量级的循环,能不用循
: 环的我都用矢量替代了。需要迭代
: 上千次,运行时间
: 也比较长(几天),我
: 32G 内存已经不够用了,不知道转成C或者java是不是有帮助?谢谢

s****1
发帖数: 425
56
在此谢谢所有回复,给了我很多启发。我发现matlab自带的函数bi2de 和normrnd比较
耗时,所以以后不要太相信它的函数了
x****u
发帖数: 44466
57
你原话是
“without virtual memory”

【在 b***i 的大作中提到】
: 你从来都和大家不在一边
: 我说过去掉VM吗?你找找看。

x****u
发帖数: 44466
58
你扯淡也要扯性价比高的

【在 p*u 的大作中提到】
:
: next time simply ignore it, not worth the time @ all

k**********g
发帖数: 989
59

Thanks for your insight and conclusion! This is worth sharing with all
MATLAB users!
For random number generation, consider: http://www.gnu.org/software/gsl/
There should be MATLAB interfaces, try search at MATLAB exchange.

【在 s****1 的大作中提到】
: 在此谢谢所有回复,给了我很多启发。我发现matlab自带的函数bi2de 和normrnd比较
: 耗时,所以以后不要太相信它的函数了

b***i
发帖数: 3043
60
那就继续扯,使用了虚拟内存如何提高速度? 注意,我的原话是什么:
without virtual memory, he should use more real memory.
为什么这样说?因为有人让楼主加内存,又有人问,不是有虚拟内存吗,怎么会内存不
够?这里我们说的虚拟内存是内存不够了在硬盘中把内存中的其他数据临时交换出来,
这样RAM不够的时候,程序仍然可以运行。所以才会有这样的疑问,内存怎么会不够?
所以我才会说,不够了要加real memory, 当然我的意思是虚拟内存是不会提高速度的
,是这个上下文环境下。
所以象楼主这样的科学计算的程序需要的是RAM,如果他的程序需要36G内存,是32G
RAM加上20G虚拟内存快呢,还是64G RAM快?使用了64G RAM再加上16G虚拟内存会让楼
主的程序更快吗?你对这个有疑问吗?当然,楼主未必内存不够,但是这个讨论的上下
文你要搞清楚。谁也没说过编译kernel的时候把这个module去掉。

【在 x****u 的大作中提到】
: 你扯淡也要扯性价比高的
相关主题
【包子求助】20M*20M的loop怎么搞?R竟然没有elseif / elif ?
如何实现N层循环嵌套R 里怎么骗R用虚拟内存?
有熟悉CUDA的吗?不胜感谢赐教怎么提高C++计算精度? C++ vs Matlab (转载)
进入Programming版参与讨论
t****t
发帖数: 6806
61
直接忽略不就好了...

【在 b***i 的大作中提到】
: 那就继续扯,使用了虚拟内存如何提高速度? 注意,我的原话是什么:
: without virtual memory, he should use more real memory.
: 为什么这样说?因为有人让楼主加内存,又有人问,不是有虚拟内存吗,怎么会内存不
: 够?这里我们说的虚拟内存是内存不够了在硬盘中把内存中的其他数据临时交换出来,
: 这样RAM不够的时候,程序仍然可以运行。所以才会有这样的疑问,内存怎么会不够?
: 所以我才会说,不够了要加real memory, 当然我的意思是虚拟内存是不会提高速度的
: ,是这个上下文环境下。
: 所以象楼主这样的科学计算的程序需要的是RAM,如果他的程序需要36G内存,是32G
: RAM加上20G虚拟内存快呢,还是64G RAM快?使用了64G RAM再加上16G虚拟内存会让楼
: 主的程序更快吗?你对这个有疑问吗?当然,楼主未必内存不够,但是这个讨论的上下

t****t
发帖数: 6806
62
好几代以前matlab的de2bi是用循环写的, 你可以想象一下. 基本上matlab的速度只在
牵涉到矩阵的时候快, 别的时候就是图个方便. 另外它的作图引擎不错, 很强大.

【在 k**********g 的大作中提到】
:
: Thanks for your insight and conclusion! This is worth sharing with all
: MATLAB users!
: For random number generation, consider: http://www.gnu.org/software/gsl/
: There should be MATLAB interfaces, try search at MATLAB exchange.

x****u
发帖数: 44466
63
这个“虚拟内存”的概念是文科级别的。
内存不够和有没有交换是不同的问题。

【在 b***i 的大作中提到】
: 那就继续扯,使用了虚拟内存如何提高速度? 注意,我的原话是什么:
: without virtual memory, he should use more real memory.
: 为什么这样说?因为有人让楼主加内存,又有人问,不是有虚拟内存吗,怎么会内存不
: 够?这里我们说的虚拟内存是内存不够了在硬盘中把内存中的其他数据临时交换出来,
: 这样RAM不够的时候,程序仍然可以运行。所以才会有这样的疑问,内存怎么会不够?
: 所以我才会说,不够了要加real memory, 当然我的意思是虚拟内存是不会提高速度的
: ,是这个上下文环境下。
: 所以象楼主这样的科学计算的程序需要的是RAM,如果他的程序需要36G内存,是32G
: RAM加上20G虚拟内存快呢,还是64G RAM快?使用了64G RAM再加上16G虚拟内存会让楼
: 主的程序更快吗?你对这个有疑问吗?当然,楼主未必内存不够,但是这个讨论的上下

x****u
发帖数: 44466
64
这怨恨够深。。。

【在 t****t 的大作中提到】
: 直接忽略不就好了...
1 (共1页)
进入Programming版参与讨论
相关主题
【包子求助】20M*20M的loop怎么搞?如何模拟实现thrashing?
如何实现N层循环嵌套问个排列组合的问题。。。
有熟悉CUDA的吗?不胜感谢赐教请教一下matlab的内存问题
R竟然没有elseif / elif ?一般笔记本能跑Matlab吗?
R 里怎么骗R用虚拟内存?matlab textscan data loading limit
怎么提高C++计算精度? C++ vs Matlab (转载)高人指点怎么在embedded sys(atmel 系列)上写内存管理 (转载)
为啥matlab一直用列优先存储来存储array?程序员的电脑装 OS: 32-bit还是64-bit?
请教一个C内存泄露问题how to assign new value to loop variables?
相关话题的讨论汇总
话题: nb话题: end话题: loop话题: matlab话题: 30