Optimizing Task Execution Speed

AutoMate provides two operating environments: a debugging environment for creating, debugging and perfecting tasks, and another to run the tasks in an optimized state.

Debugging and testing should be done with the AutoMate Task Builder, which provides a full featured integrated debugging environment for building solutions. The Task Administrator should be used to run debugged and operational tasks, either manually with the Run button or by attaching an AutoMate Trigger to the Managed Task. Generally speaking, getting the most speed out of an AutoMate tasks is a matter of balancing runtime feedback with the need for speed.

Tips To Speed Task Execution Speed

Refrain from running production tasks in the Task Builder

The AutoMate Task Service always runs tasks faster than the AutoMate Task Builder. The Task Builder is a full debugging environment and commits more time to gathering and processing debugging information while a task is running than is normally necessary in a production environment. Using the Task Administrator to run the task manually and/or setting the task on a trigger could improve task execution speed by 35%.

Turn off the Running Tasks Indicator Window

The Running Tasks Indicator Window is the small dialog that appears in the bottom-right of the screen while an AutoMate Task is running. It provides information on the task's progress, such as current step number and completion state of the current step. AutoMate needs to periodically update this window, which can be expensive in terms of CPU time, especially if the machine has other windows open. By turning off the indicator, AutoMate is free to concentrate solely on executing the task and doesn't worry about updating a user interface. To turn off the 'Running Task Indicator' Window:

  1. From the Task Administrator, go to System -> Options -> Indicators tab.

  2. Uncheck the option labeled Display Running Task Window when a task is running.  

  3. Click Ok to save changes.

NOTE: The number of currently running tasks can still be determined by hovering the mouse over the AutoMate tray icon, or by showing the Running Task Manager by pressing Ctrl+Ald+End (although this key combination can be modified). Turning off the Running Task Indicator Window could improve execution speed by 50% in some cases.

Schedule tasks to run during down time

System performance (i.e. CPU or memory utilization, number of running applications) may also impact task execution speed. Whether tasks are executed on a server or workstation, it may be useful to run such tasks during off hours, if possible. The server performs the least amount of work or the workstation is not being used by other users when the office is closed, therefore, task execution becomes optimal during these hours.

Do not use 'Log extended step information' of a Managed Task unless necessary

The Log Extended Step Information option on the Logging tab of Managed Task Properties (shown below) logs verbose information of each step as it executes. In fact, it logs the same information that would normally be sent to the Output tab of the Debug window in the Task Builder. As a result, time is taken away from the running task to log this information. This amount of time can be significant, depending on the number and nature of the steps in the task. The speed hit is even worse when using Database logging option, since database calls, especially remote ones, are extensive. Therefore, only use this option for debugging purposes. When debugging is completed, turn the option off.

Do not use 'Log to additional text file' of a Managed Task unless necessary

The Log to additional text file option is also located in the Logging tab of a managed task. Along with logging task runtime information to the default AutoMate log location (as specified in System -> Options -> Logging tab) this option writes the same information to an additional file. Although this does not impact execution time as much other procedures, it can be significant if a task includes numerous steps.

Confirm that task execution speed is set to 0 milliseconds.

AutoMate contains an option to globally modify the execution speed of all tasks. This option is normally set to 0 milliseconds by default. However, if any modifications are made to this option, it can drastically slow down task execution. To determine task execution speed:

  1. From the Task.  Administrator, go to System -> Options -> System tab.

  2. Confirm that the Task execution speed parameter is set to 0 ms delay per step.

  3. Click Ok to save changes (if any).

Group smaller string concatenations together when building very large strings

AutoMate performs better when concatenating two large strings together instead of concatenating numerous small strings to one large string. To take advantage of this, group the smaller concatenations together, then concatenate that string to the larger one. For example, assume a comma-delimited file is being create from an AutoMate Dataset. The following AML...

 

<AMVARIABLE NAME="BigString"></AMVARIABLE>

<AMVARIABLE NAME="SmallerString"></AMVARIABLE>

<AMLOOPDATASET DATASET="mydataset">

<AMSET VARIABLENAME="SmallerString">%mydataset.column1%,%mydataset.column2%,%mydataset.column3%

</AMSET>

<AMSET VARIABLENAME="BigString">%bigstring & smallerstring%</AMSET>

</AMLOOP>

 

...will typically execute faster than...

 

<AMVARIABLE NAME="BigString"></AMVARIABLE>

<AMLOOPDATASET DATASET="mydataset">

<AMSET VARIABLENAME="BigString">%BigString & mydataset.column1%,%mydataset.column2%,%mydataset.column3%

</AMSET>

</AMLOOP>

 

...depending on overall string size and the size of the "smaller" string concatenations.

 

See Also

Automate Event Log

External Database Logging Configuration

How AutoMate logs on or unlocks a workstation