回 帖 发 新 帖 刷新版面

主题:在FORTRAN中如何实现测试某段程序的运行时间?

问题如上,用什么方法可以实现呢?[em2]

回复列表 (共13个回复)

沙发

用F90的system_clock固有子程序。

板凳

多谢楼上的兄弟
昨晚我试了一下
CALL GETTIM(tmphour, tmpminute, tmpsecond, tmphund)
还不错,能得到当前的时间
跟C相比不同的是这个需要四个变量来存当前的时间
而C只要一个变量就OK了

所以计算时间差的时间不太好办

3 楼

用system_clock:

integer :: time(0:1),timediff

call system_clock(time(0))  
...

...
call system_clock(time(1))
timediff = time(1)-time(0) ! 单位多为1/100秒

4 楼

看来这个只能对FORTRAN90程序适用
对FOR77应该不行吧

5 楼

只要编译器支持f90的功能就可以。试一下就知道了。

6 楼

请问 用固有子例行程序cpu time 可以吗?
我只是在一本书上看到过,没用过啊,请高人指点![em3][em3][em3]

7 楼

cpu_time是f95的函数,system_clock从f90就有了,所以用得较早也较多。
两个都可以,差不太多。自己试试就知道了。

8 楼

mltx老兄你提供的这种方法好像是计算完成后才能得到时间呀

我没试过,只是看你给出的程序猜测的,错的话别见怪呀


有没有程序
只需要编译后就能知道大体的计算时间呀

9 楼

no way.

10 楼

其实记着你开始运行程序的时间
还有程序运行完后输出文件的生成时间

两个时间相减就是程序运行的时间了!

我来回复

您尚未登录,请登录后再回复。点此登录或注册