V3 Documentation
Search

Track Engine Performance

Global-level NCrunch configuration setting Default Value: false

Purpose

When this setting is enabled, NCrunch will capture performance data related to the execution of tests and report this in a separate tab inside the Tests Window.

Performance data is captured for every step relevant to the execution of a selected test. The capture process begins when a test is added to the NCrunch Processing Queue, and is completed when the engine registers the execution results from the test run. Steps also include tasks that are required for the test run to begin, such build and test discovery/analysis tasks performed by the engine.

The performance impact of measuring NCrunch engine performance is negligible.

Recommendations

The data surfaced by this setting is considered to be diagnostic rather than general purpose. Understanding the individual steps required for the execution of steps will usually involve a deep understanding of the NCrunch engine; the internals of which are not currently documented. For this reason the setting is disabled by default.

The primary purpose of engine performance tracking is to aid with development and optimisation of the NCrunch engine itself. However, the data can often provide useful information when trying to understanding why the engine is taking a long time to perform specific tasks. The data is also sufficiently structured to allow comparison of the performance of different test frameworks in a real world scenario.