Performance Profiling with AMP Engine

Results Window in Designer allows you to see the execution time for each tool relative to the whole execution of the workflow.

The original engine returns the time (in milliseconds) that each tool took to run, measured to 0.01 ms precision. AMP can also have multiple workers for each tool, but the total time is combined by the tool.

AMP Profiling Highlights

  • The performance profiling results between the original engine and AMP shouldn’t be compared. AMP uses many threads to execute tasks, but the total time will be summed up by counting every thread used for the tool.
  • Overall time per tool might be more than the total workflow time due to the multithreaded nature of AMP.

When there is not enough memory to execute a workflow, AMP performs additional memory management that is reported as a separate message: "Nms have been spent on memory management. M% of the total workflow execution time."

Performance Profiling is a good way to see which parts of the workflow might be suitable for optimization. To optimize your workflow, you can...

  • Adjust the Memory Limit in the Workflow Configuration - Runtime tab and use a specific amount.
  • Replace a tool that has a long execution time with another suitable tool or a combination of tools.