Derived type for each method being benchmarked.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=:), | public, | allocatable | :: | method |
Name of the method being benchmarked |
||
character(len=:), | public, | allocatable | :: | description |
Description of the method being benchmarked |
||
type(timer), | public | :: | time |
Timer object to measure elapsed time |
|||
real(kind=rk), | public | :: | elapsed_time |
Elapsed time for the benchmark |
|||
real(kind=rk), | public | :: | speedup |
Speedup relative to a reference benchmark |
|||
real(kind=rk), | public | :: | flops |
Floating-point operations per second |
Finalize procedure for mark type
Finalizes the mark object by deallocating allocated memory for method and description.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(mark), | intent(inout) | :: | this |
Mark object to be finalized |
type :: mark !! author: Seyed Ali Ghasemi !! Derived type for each method being benchmarked. !! character(:), allocatable :: method !! Name of the method being benchmarked character(:), allocatable :: description !! Description of the method being benchmarked type(timer) :: time !! Timer object to measure elapsed time real(rk) :: elapsed_time !! Elapsed time for the benchmark real(rk) :: speedup !! Speedup relative to a reference benchmark real(rk) :: flops !! Floating-point operations per second contains procedure, private :: finalize_mark !! Finalize procedure for mark type end type mark