我需要对fortran程序的一部分进行基准测试,以了解和量化特定更改的影响(为了使代码更易维护,我们希望使代码更加面向对象,充分利用函数指针例)。基准测试fortran循环
我有一个循环调用几次相同的子程序来执行有限元素的计算。我想看看使用函数指针而不是硬编码函数的影响。
do i=1,n_of_finite_elements
! Need to benchmark execution time of this code
end do
什么是一个简单的方法来获得这种循环的执行时间,并以一种很好的方式格式化?
你在寻找的东西,型材的需要作为一个整体多久的代码,或只是粗略时间?你使用的是什么操作系统和编译器?查看['CPU_TIME'](https://gcc.gnu.org/onlinedocs/gfortran/CPU_005fTIME.html)的简单方法来手动检查。另外[这个问题](http://scicomp.stackexchange.com/questions/6812/fortran-best-way-to-time-sections-of-your-code)可能会有用。 – Gabe
@加贝请不要使用'CPU_TIME'。它并不适合时间测量,特别是在[并行编程](https://stackoverflow.com/questions/25465101/fortran-parallel-programming)中。相反,使用'SYSTEM_CLOCK'。 –
作为一个整体的时机,但基准是(我希望)不仅仅是注意系统时间。例如,[ruby基准](http://ruby-doc.org/stdlib-1.9.3/libdoc/benchmark/rdoc/Benchmark.html)提供了一些有趣的指标,如用户,系统和总时间,在非常很好的显示,甚至解释了基准测试时需要采取的预防措施。 –