M_stopwatch.f90 and associated files
Name
M_stopwatch - package for measuring cpu and wall clock execution time (LICENSE:PD) based on StopWatch
Description
M_StopWatch is a Fortran 90 module for measuring execution time of program segments. M_StopWatch is designed to be a portable, easy-to-use means of measuring execution time. It supports wall clock, CPU time, and a breakdown of the CPU clock into user and system times. It returns all times in seconds. It provides a simple means of determining which clocks are available, and the precision of those clocks.
M_StopWatch is used by instrumenting your code with subroutine calls that mimic the operation of a stop watch. The primary routines are start_watch, stop_watch, reset_watch, read_watch, and print_watch. M_StopWatch supports multiple watches, and provides the concept of watch groups to allow functions to operate on multiple watches simultaneously.
Download and Build with Make(1)
Just download the github repository, enter the src/ directory and run make:
git clone https://github.com/urbanjost/M_stopwatch.git
cd M_stopwatch/src
# change Makefile if not using one of the listed compilers
# for gfortran
make clean
make F90=gfortran gfortran
# for ifort
make clean
make F90=ifort ifort
# for nvfortran
make clean
make F90=nvfortran nvfortran
# optionally
make test # run the unit tests
make run # run all the demo programs from the man-pages
make help # see other developer options
This will compile the M_stopwatch(3f) module and optionally build all the example programs from the document pages in the example/ sub-directory and run the unit tests.
Download and Build with FPM(1)
Alternatively, download the github repository and build it with fpm ( as described at Fortran Package Manager )
git clone https://github.com/urbanjost/M_stopwatch.git
cd M_stopwatch
fpm build
fpm test # run unit tests
or just list it as a dependency in your fpm.toml project file.
[dependencies]
M_stopwatch = { git = "https://github.com/urbanjost/M_stopwatch.git" ,tag="v1.0.1"}
Note that M_stopwatch.f90 is registered at the fpm(1) registry
Documentation
User
-
man-page archives for use on GNU/Linux, Unix and CygWin platforms:
-
CHANGELOG provides a history of significant changes
Developer (experimental)
- The code was run through ford(1) to produce a developers' document.
- github action status
Demo Programs
Each man-page includes a working example program. These and additional examples are included in the example/ directory.