作者bjorn607 (比用)
看板Fortran
标题[问题] 请问module
时间Sat Nov 8 02:36:08 2008
因为解题和测试需要
将parameter拆成几个module
好供後面subroutine和function用
有一个问题是
module在执行效率上
会比直接宣告在某个subroutine或function里 然後传递
快吗
因为每次compile之後都会生出.mod 也就是module产生的档
不晓得他运作是怎样
如果是每次用他都需要跑去"档案"里读
应该会减低效率?
以前遇过不小心把read写在某个运算很多次的subroutine里
然後一个3秒可以跑出来的东西要跑三分钟
大量时间耗费在把"档案"从硬碟读进去
因为程式需要大量计算时间
必须要东省西省==
现在头很大
(跑玩一个小分支模拟需要四小时 囧
模拟一堆粒子跑来跑去==)
有没强者多了解运算效率或节省运算效率的一些观念和诀窍呢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.123.217.34
1F:推 noonee:你可以先做成 .o 和 .mod 再把 他们compile 你就知道有没有 11/08 13:28
2F:→ noonee:一直去读 .mod了 11/08 13:28
3F:→ noonee:另外要提高效率的话 确实read in 和write out和 print 11/08 13:29
4F:→ noonee:都很花时间 测试的方法很简单 在你要的区段 call time 11/08 13:30
5F:→ noonee:另外多注意有没有不必要的回圈 例如跑100就够的却跑了1000 11/08 13:30
6F:→ noonee:还有就是 真的非常花时间的话 可以试试看平行化 11/08 13:32