Pause Collection and Resume Collection Annotations

The Pause Collection and Resume Collection annotations let you stop and resume data collection to skip uninteresting parts of the target program's execution. If you pause data collection, the target executable continues to execute until you resume data collection. Pausing data collection minimizes the amount of data collected and speeds up the analysis of large applications.

In addition to these annotations, you can click certain buttons on the side command toolbar to pause or resume data collection:

  • You can start the Survey and Suitability tools with data collection either paused or enabled. For example, the Start Paused button starts executing the target being analyzed with data collection (analysis) disabled. Also, once the tool is started, you can pause and resume data collection by using the Pause or Resume buttons or by executing the equivalent Pause Collection and Resume Collection annotations.

  • You start the Correctness tool with data collection enabled, but you can pause data collection either by using the Pause button or by executing the equivalent Pause Collection annotation. You can insert Pause Collection and Resume Collection annotations as described below.

For more information, see the help topic for the appropriate tool, such as Minimizing Data Collection, Result Size, and Execution Time (Survey).

Pause Collection

This annotation completely stops the analysis of your program until the matching Resume Collection (disable-collection-pop) annotation is executed. Use this annotation to reduce the analysis overhead for certain uninteresting parts of your program. This annotation is recognized by the Correctness, Survey, and Suitability tools. Because this annotation completely disables monitoring of most annotations, insert it carefully in your source code, such as outside a parallel site. If there are multiple pushes, all have to be popped before re-enabling collection.

Syntax:

C/C++:

ANNOTATE_DISABLE_COLLECTION_PUSH;

Fortran:

call annotate_disable_collection_push()

C#:

Annotate.DisableCollectionPush();

This annotation takes no arguments.

Note

For C/C++, this annotation does not have an argument list.

Resume Collection

This annotation resumes the analysis previously stopped by a Pause Collection (disable-collection-push) annotation. This annotation is recognized by the Correctness, Survey, and Suitability tools. Because the Pause Collection annotation completely disables monitoring of most annotations, insert this Resume Collection annotation carefully in your source code, such as outside a parallel site.

Syntax:

C/C++:

ANNOTATE_DISABLE_COLLECTION_POP;

Fortran:

call annotate_disable_collection_pop()

C#:

Annotate.DisableCollectionPop();

This annotation takes no arguments.

Para obtener información más completa sobre las optimizaciones del compilador, consulte nuestro Aviso de optimización.