Fortran Coder

查看: 65|回复: 1

[编译器] 计算耗时每次相差0.5秒

[复制链接]

58

帖子

21

主题

0

精华

熟手

F 币
270 元
贡献
165 点
发表于 2020-6-13 11:09:14 | 显示全部楼层 |阅读模式
本帖最后由 shrine 于 2020-6-15 07:58 编辑



[Fortran] 纯文本查看 复制代码
      program main
      Use DFPort
      Use Kernel32

      integer , parameter :: QP = Selected_real_kind( 18 )
      integer::a , b , f,iss
      real(kind=QP)::time_begin,time_end    

      CALL CPU_TIME ( time_begin )
      iss = QueryPerformanceFrequency( Loc(f) )
      iss = QueryPerformanceCounter( Loc(a) )

......
......!computing
.....

      iss = QueryPerformanceCounter( Loc(b) )
      CALL CPU_TIME ( time_end )
      write(*,*)'Time of operation was ',(b-a)*1.0e-8_QP/(f*1.0e-8_QP), ' seconds' ,time_end-time_begin       
      end 

这两种方法本身相差0.2秒
连续两次计算,相同的方法居然相差0.5秒,这也太多了吧




回复

使用道具 举报

128

帖子

2

主题

0

精华

大师

F 币
769 元
贡献
400 点

规矩勋章

发表于 2020-6-15 09:35:07 | 显示全部楼层
每次运行程序使用的内存块、cpu负载都是操作系统自动调整的,所以每次都会稍微有点差别,计算量小的程序看起来差别就可能很大,计算量大的就不明显了
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

QQ|捐赠本站|Archiver|关于我们 About Us|群聊|Fcode

GMT+8, 2020-7-8 20:10

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表