Module specifications::profiling

source ·
Expand description

A second version of the profiling library, with better support for generate dynamic yet pretty and (most of all) ordered profiling logs.

Note that, while this library is not designed for Edge timings (i.e., user-relevant profiling), some parts of it can probably be re-used for that (especially the Timing struct).

Structs§

  • Defines the toplevel ProfileReport that writes to stdout or disk or whatever when it goes out-of-scope.
  • Formats the given ProfileReport to show a new list of results (but with a clear toplevel).
  • Defines a scope within a ProfileReport.
  • Formats the given ProfileScope to show a neat list of results.
  • Provides a convenience wrapper around a reference to a ProfileScope.
  • Provides a convenience wrapper around a reference to a ProfileScope that ignores the lifetime mumbo.
  • Defines the TimerGuard, which takes a Timing as long as it is in scope.
  • Defines a taken Timing, which represents an amount of time that has passed.
  • Formats the giving Timing to show a (hopefully) sensible scale to the given formatter.