CyRhmU.jpeg
查看: 1444  |  回复: 12
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

lisajelly

新虫 (初入文坛)


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

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

» 猜你喜欢

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

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

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhoubaibin

金虫 (正式写手)



lisajelly(金币+1): 谢谢参与
请查阅相关文献即可
4楼2012-08-29 06:32:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 13 个回答

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的回帖

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的回帖
简单回复
userhung5楼
2012-08-29 06:50   回复  
lisajelly(金币+1): 谢谢参与
xiegangmai: 金币-2, 专业版交流贴,请勿灌水! 2012-09-17 20:26:16
普通表情 高级回复(可上传附件)
信息提示
请填处理意见