mark Derived Type

type, private :: mark

Derived type for each method being benchmarked.


Inherits

type~~mark~2~~InheritsGraph type~mark~2 mark timer timer type~mark~2->timer time

Inherited by

type~~mark~2~~InheritedByGraph type~mark~2 mark type~benchmark~2 benchmark type~benchmark~2->type~mark~2 marks

Components

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


Type-Bound Procedures

procedure, private :: finalize_mark

Finalize procedure for mark type

  • private pure elemental subroutine finalize_mark(this)

    Author
    Seyed Ali Ghasemi
    License
    BSD 3-Clause License

    Finalizes the mark object by deallocating allocated memory for method and description.

    Arguments

    Type IntentOptional Attributes Name
    class(mark), intent(inout) :: this

    Mark object to be finalized

Source Code

   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