Profiling

Use the shared profiler instead of ad hoc log files. File output follows Logging convention and NORNIR_LOG_ROOT.

  • nornir_shared.profiling.PhaseProfiler records named phases. configure_phase_profiler installs one for the process; phase is the context manager. Relative log paths land in the session directory when NORNIR_LOG_ROOT is set.

  • NORNIR_PROFILE, when set to a directory, turns on multiprocess profiling output from nornir_pools. If the value is set but is not a usable path, the library may fall back to a temporary directory. If it is unset, that profiling output stays off.

  • NORNIR_POOL_DIAG=1 logs pool lifecycle events. See Pools.

  • NORNIR_REFINE_PHASE_TIMING=1 makes mosaic grid refine log per-pass time for prewarp, cell extract, FFT, host sync, regularize, and apply. The harness that sets it is nornir-imageregistration/scripts/microbench_mosaic_refine.py.

Pyre registration should stay interactive: on the order of a second per control point for a point align. If a change to point registration or grid refine misses that, profile the phase list before retuning thresholds.