{"id":18854401,"url":"https://github.com/urbanjost/m_stopwatch","last_synced_at":"2026-01-31T06:04:10.035Z","repository":{"id":117558348,"uuid":"430276895","full_name":"urbanjost/M_stopwatch","owner":"urbanjost","description":"package for measuring cpu and wall clock execution time","archived":false,"fork":false,"pushed_at":"2025-07-11T02:17:34.000Z","size":5513,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-11T05:53:14.390Z","etag":null,"topics":["cputime","fortran","fortran-package-manager","fpm","timing","wallclock"],"latest_commit_sha":null,"homepage":"","language":"Fortran","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/urbanjost.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-11-21T04:57:14.000Z","updated_at":"2025-07-11T00:09:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"bbf89e9d-4fa6-48e8-b67b-9089908c6ca0","html_url":"https://github.com/urbanjost/M_stopwatch","commit_stats":{"total_commits":21,"total_committers":1,"mean_commits":21.0,"dds":0.0,"last_synced_commit":"0cb7a510d1c1dddeaeb6fe63021176b1b46a4476"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/urbanjost/M_stopwatch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urbanjost%2FM_stopwatch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urbanjost%2FM_stopwatch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urbanjost%2FM_stopwatch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urbanjost%2FM_stopwatch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/urbanjost","download_url":"https://codeload.github.com/urbanjost/M_stopwatch/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urbanjost%2FM_stopwatch/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28931087,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T04:05:25.756Z","status":"ssl_error","status_checked_at":"2026-01-31T04:02:35.005Z","response_time":128,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cputime","fortran","fortran-package-manager","fpm","timing","wallclock"],"created_at":"2024-11-08T03:48:07.660Z","updated_at":"2026-01-31T06:04:09.982Z","avatar_url":"https://github.com/urbanjost.png","language":"Fortran","funding_links":[],"categories":[],"sub_categories":[],"readme":"![string](docs/images/M_stopwatch.gif)\n# M_stopwatch.f90 and associated files\n\n## Name\n  M_stopwatch - package for measuring cpu and wall clock execution time (LICENSE:PD) based on [StopWatch](https://math.nist.gov/StopWatch)\n\n## Description\n\n  M_StopWatch is a Fortran 90 module for measuring execution time of\n  program segments. M_StopWatch is designed to be a portable, easy-to-use\n  means of measuring execution time. It supports wall clock, CPU time,\n  and a breakdown of the CPU clock into user and system times. It returns\n  all times in seconds. It provides a simple means of determining which\n  clocks are available, and the precision of those clocks.\n\n  M_StopWatch is used by instrumenting your code with subroutine calls\n  that mimic the operation of a stop watch. The primary routines are\n  start_watch, stop_watch, reset_watch, read_watch, and print_watch.\n  M_StopWatch supports multiple watches, and provides the concept of watch\n  groups to allow functions to operate on multiple watches simultaneously.\n\n## Download and Build with Make(1) ![gmake](docs/images/gnu.gif)\n  Just download the github repository, enter the src/ directory and run make:\n```text\n     git clone https://github.com/urbanjost/M_stopwatch.git\n     cd M_stopwatch/src\n     # change Makefile if not using one of the listed compilers\n\n     # for gfortran\n     make clean\n     make F90=gfortran gfortran\n\n     # for ifort\n     make clean\n     make F90=ifort ifort\n\n     # for nvfortran\n     make clean\n     make F90=nvfortran nvfortran\n\n     # optionally\n     make test # run the unit tests\n     make run  # run all the demo programs from the man-pages\n     make help # see other developer options\n```\n  This will compile the M_stopwatch(3f) module and optionally build\n  all the example programs from the document pages in the example/\n  sub-directory and run the unit tests.\n\n## Download and Build with FPM(1) ![fpm](docs/images/fpm_logo.gif)\n\n  Alternatively, download the github repository and build it with\n  fpm ( as described at [Fortran Package Manager](https://github.com/fortran-lang/fpm) )\n```bash\n     git clone https://github.com/urbanjost/M_stopwatch.git\n     cd M_stopwatch\n     fpm build\n     fpm test  # run unit tests\n```\n  or just list it as a dependency in your fpm.toml project file.\n```toml\n     [dependencies]\n     M_stopwatch        = { git = \"https://github.com/urbanjost/M_stopwatch.git\" ,tag=\"v1.0.1\"}\n```\n  Note that M_stopwatch.f90 is registered at the [fpm(1) registry](https://github.com/fortran-lang/fpm-registry)\n\n## Documentation   ![docs](docs/images/docs.gif)\n### User\n\n[user guide](https://urbanjost.github.io/M_stopwatch/user_guide.html).\n\n\u003c!--\n   There are HTML documents for each\n   subprogram in the style of man-pages:\n\n - An [index](https://urbanjost.github.io/M_stopwatch/man3.html) to the HTML versions\n   of the man-pages.\n\n - A single page (that uses javascript) combining all the HTML descriptions of the man-pages\n   for easy searching and printing:\n   [BOOK_M_stopwatch](https://urbanjost.github.io/M_stopwatch/BOOK_M_stopwatch.html).\n--\u003e\n\n - ![man-pages](docs/images/manpages.gif) man-page archives for use on GNU/Linux, Unix and CygWin platforms:\n    + [manpages.zip](https://urbanjost.github.io/M_stopwatch/manpages.zip)\n    + [manpages.tgz](https://urbanjost.github.io/M_stopwatch/manpages.tgz)\n\n - [CHANGELOG](docs/CHANGELOG.md) provides a history of significant changes\n\n### Developer (__experimental__)\n\n - The code was run through [ford(1)](https://politicalphysicist.github.io/ford-fortran-documentation.html)\n   to produce a [developers' document](https://urbanjost.github.io/M_stopwatch/fpm-ford/index.html).\n - [github action status](docs/STATUS.md)\n\n## Demo Programs![demos](docs/images/demo.gif)\n\nEach man-page includes a working example program. These and additional\nexamples are included in the [example/](example/) directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Furbanjost%2Fm_stopwatch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Furbanjost%2Fm_stopwatch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Furbanjost%2Fm_stopwatch/lists"}