code-timing-macros

Crates.iocode-timing-macros
lib.rscode-timing-macros
version0.0.5
sourcesrc
created_at2024-09-03 01:36:09.049261
updated_at2024-10-23 02:47:21.116493
descriptionMacros for easily measuring execution time of various code pieces
homepage
repositoryhttps://github.com/rjzak/code-timing-macros
max_upload_size
id1361237
size24,735
Richard Zak (rjzak)

documentation

README

TestLintCrates.io Version

code-timing-macros!

This crate aims to provide useful, easy to use macros to measure the time taken to execute some code. At present, this is alpha quality, and subject to changes.

Contributions welcomed!

Macros:

  • Adding #[time_function] to a function causes the program to print how long a function took to run when it's finished.
  • Use time_snippet!() to report the timing for a snippet (or block) of code.

Capabilities:

  • Works on functions and code blocks with or without a return.
  • Async functions and code blocks tested and seem to work. Please report any issues.
  • Const functions won't work since the contents of the function won't be determinable at compile time.

Features

The following crate features are available:

  • release: by default, the macros will not modify the code for release builds. This feature prevents that, so release builds will report execution time.
  • tracing: by default, the macros will print elapsed time information to standard output, but this feature instead sends information to the log using the tracing crate.

Examples

Commit count: 27

cargo fmt