A KISS pure Fortran Library for easy timing code snippets.
- FITTER is a pure Fortran (KISS) library;
- FITTER is Fortran 2008+ standard compliant;
- FITTER is OOP designed;
- FITTER is a Free, Open Source Project.
use fitter
type(timer) :: chronos ! The timer.
integer :: s ! Counter.
call chronos%tic(name='foo')
call foo
call chronos%toc
do s=1, 4
call chronos%tic(name='bar')
call bar
call chronos%toc
enddo
call chronos%tic(name='foo')
call foo
call chronos%toc
call chronos%print(statistics=.true.)
! output:
! Elapsed time into "foo": 0.603904970000000E-001 [s]
! Elapsed time into "bar": 0.103229564000000E+000 [s]
! Number of snippets tracked: 2
! Total elapsed time: 0.163620061000000E+000 [s]
! Average (snippet) elapsed time: 0.818100305000000E-001 [s]
! Relative elapsed time into each snippet:
! + foo: 36.909%
! Number of snippet hits: 2
! Total elapsed time: 0.603904970000000E-001 [s]
! Average elapsed time: 0.301952485000000E-001 [s]
! Relative elapsed time into each hit:
! + 001: 70.932%
! + 002: 29.068%
! + bar: 63.091%
! Number of snippet hits: 4
! Total elapsed time: 0.103229564000000E+000 [s]
! Average elapsed time: 0.258073910000000E-001 [s]
! Relative elapsed time into each hit:
! + 001: 23.667%
! + 002: 25.264%
! + 003: 25.527%
! + 004: 25.542%
What is FITTER? | Main features | Copyrights | Download | Compilation | Documentation | References
FITTER is KISS pure Fortran library exposing a friendly class for timing code: the
timer
class is a tic-toc timer that easily track the time spent into parts of your codes, no more no less.
FITTER is a one-single-class library exposing the
timer
object that
- handle (automatically store) new timing for each snippet timed:
- handle (automatically store) multiple timing for each snippet timed, namely allow multiple-hits tracking of snippets:
- easy print statistics;
- easy retrieve timings;
- Test Driven Developed (TDD);
- collaborative developed;
- well documented;
- free!
Any feature request is welcome.
Go to Top
FITTER is a Free and Open Source Software (FOSS), it is distributed under a very permissive multi-licensing system: selectable licenses are GPLv3, BSD2-Clause, BSD3-Clause and MIT, feel free to select the license that best matches your workflow.
Anyone is interest to use, to develop or to contribute to FITTER is welcome.
More details can be found on wiki.
Go to Top
To be written.
Go to Top
FITTER is a modern Fortran project thus a modern Fortran compiler is need to compile the project. The project is modular, namely it exploits Fortran modules. As a consequence, there is compilation-cascade hierarchy to build the project. To correctly build the project the following approaches are supported
- Build by means of FoBiS: full support;
- Build by means of GNU Make: to be implemented.
- Build by means of CMake: to be implemented.
The FoBiS building support is the most complete, as it is the one used for the developing FITTER.
A fobos
file is provided to build the project by means of the Fortran Building System FoBiS.py.
Type
FoBiS.py build -mode tests-gnu
After (a successful) building a directory ./exe
is created containing all the compiled programs found recursively in the tree project.
To be implemented.
To be implemented.
Go to Top
Besides this README file the FITTER documentation is contained into its own wiki. Detailed documentation of the API is contained into the GitHub Pages that can also be created locally by means of ford tool.
To be completed.
Go to Top