CyRhmU.jpeg
查看: 1443  |  回复: 12

lisajelly

新虫 (初入文坛)


[交流] 想问一下影响fortran计算速度的因素都有哪些?

按理说fortran要比matlab快很多的,但是我将一个matlab项目翻译成fortran之后,发现fortran代码的计算速度居然是matlab的20倍。matlab中的数组大小是可变的,为了和matlab对应,我将fortran中的所有数组都设成了allocatable的,不知道是不是这个影响了计算速度?
另外,有没有办法统计整个fortran项目各个部分的计算时间,好找出影响计算速度的原因?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖置顶 ( 共有2个 )

gwjx

木虫 (著名写手)


★ ★ ★
lisajelly(金币+1): 谢谢参与
xiegangmai: 金币+2, 谢谢参与! 2012-09-17 20:25:57
数组大小可变会有一定的影响, 可变了之后很多东西就没法优化了, 所以会慢.
有时候编译器的影响也挺大的, 在windows下我感觉visual fortran就比gfortran快. 同理, 操作系统也是有影响的. 一样的代码, 一样的gfortran, linux就比windows快很多.

[ 发自手机版 http://muchong.com/3g ]
2楼2012-08-29 00:19:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhoubaibin

金虫 (正式写手)



lisajelly(金币+1): 谢谢参与
请查阅相关文献即可
4楼2012-08-29 06:32:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

zhang86

木虫 (小有名气)



lisajelly(金币+1): 谢谢参与
楼主你说“fortran代码的计算速度居然是matlab的20倍”,难道你是觉得fortran还不够快吗?
不太明白明白楼主要表达的意思
9楼2012-09-15 21:15:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

phychemlxd

金虫 (小有名气)


★ ★ ★
lisajelly(金币+1): 谢谢参与
xiegangmai: 金币+2, 鼓励讨论交流! 2012-09-17 20:26:52
动态分配确实会有较大的效率影响,一般来说,可以考虑根据size来判断需不需要重新分配,如果是在很深层次的函数或过程,将这些数组作为参数传入,或是放进module里。但是总体来讲,优化算法更关键,看看迭代次数什么的,还有一些小的操作优化。
10楼2012-09-16 22:54:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

abcd702848

金虫 (正式写手)


★ ★ ★
lisajelly(金币+1): 谢谢参与
xiegangmai: 金币+2, 鼓励讨论交流! 2013-05-29 00:07:33
哥们,自己确实不太明白,你说的这个问题,fortran中影响速度的很多,比如你子程序太多,比如你中间有一些不必要的赋值语句,至于matlab,我的建议是,你修改一下,fortran以计算见长,不可能速度太慢的
11楼2013-05-28 21:00:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

abcd702848

金虫 (正式写手)


★ ★
xiegangmai: 金币+2, 鼓励讨论交流! 2013-06-03 21:12:49
我自己觉得,fortran确实比matlab要快,同时,子程序的过多,还有common变量应该对最终的结果都是有影响的,至于allocate,这个肯定有影响,而且大影响
12楼2013-06-03 08:24:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

weiwei43

至尊木虫 (正式写手)



lisajelly(金币+1): 谢谢参与
fortran和matlab速度正好反过来差不多.
很多因素影响计算速度,数组分配,我感觉不会影响.
你是否在程序的不同位置设置打印系统时间,可以根据系统时间看什么地方费时间.
13楼2013-08-29 11:34:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
简单回复
2012-08-29 02:40   回复  
lisajelly(金币+1): 谢谢参与
xiegangmai: 金币-2, 专业版交流贴,请勿灌水! 2012-09-17 20:26:12
userhung5楼
2012-08-29 06:50   回复  
lisajelly(金币+1): 谢谢参与
xiegangmai: 金币-2, 专业版交流贴,请勿灌水! 2012-09-17 20:26:16
2012-08-29 07:39   回复  
lisajelly(金币+1): 谢谢参与
xiegangmai: 金币-2, 专业版交流贴,请勿灌水! 2012-09-17 20:26:23
2012-08-29 08:16   回复  
lisajelly(金币+1): 谢谢参与
xiegangmai: 金币-2, 专业版交流贴,请勿灌水! 2012-09-17 20:26:29
2012-08-29 08:59   回复  
lisajelly(金币+1): 谢谢参与
xiegangmai: 金币-2, 专业版交流贴,请勿灌水! 2012-09-17 20:26:36
相关版块跳转 我要订阅楼主 lisajelly 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见