Table of Contents

Useful Tips for Using the Graphical Interface

The following are useful tips for working with the graphical interface.

All Panels

You can perform searches using special options. For example, is:functor shows only functors, and is:loop shows only containers that are loops. These commands are valid in every search box of the interface. To use them, the “Also search for additional info” option must be enabled in the search box menu.

Search Filters Common to All Panels

Search Filters Specific to the Explorer

You can also search by values defined in the port editors of basic types: enter the value, or part of it, to find the functor containing the matching port. The basic types are RealValue, BooleanValue, Percent, String, Name, Folder, NullValue, TableValue, TableCellType, IndexOrName, CellType, LogTag, the IntegerValue type family, and the Filename type family.

Search Filters Specific to the Issue Panel

Options (Tools => Options)

Several interface options are accessible from Tools ⇒ Options. They are grouped below by what each one actually controls.

Number of Workers

The GUI option “Tools ⇒ Options | Advanced | Automatically detect the number of processors available” controls how many workers Dinamica EGO uses to execute a model in parallel. Here, “processors” refers to the number of CPU cores (or logical processors) available on the machine. If you are running your models using the command line, the equivalent is the “-processors” option, set to 0 for automatic detection (uses the total number of processor cores).

Automatic detection sizes the number of workers to the number of processors available. However, oversubscribing this number — i.e., using more workers than you have processors — can be beneficial when the task being executed is heavily I/O-bound, since workers spend part of their time waiting on I/O rather than using the CPU, and extra workers can keep the CPU busy during those waits.

Memory Management

The memory management option “Tools ⇒ Options | Advanced” controls how Dinamica EGO handles input and resulting maps in memory versus on disk. If you are using the command line tool, the equivalent is the “-memory-allocation-policy” option.

Five policies are available:

Aggressive is the preferred setting for maximizing performance, since it favors keeping resulting maps in memory. Balanced is a more conservative, safer choice — it keeps input maps on disk and is more cautious about keeping resulting maps in memory, reducing the risk of running low on memory for other operations at some cost to performance.

Native Expression Compilation

Make sure the “Enhancement Plugin for Dinamica EGO” extension is installed and the GUI option “Tools ⇒ Options | Advanced | Disable compilation of native expressions” is unchecked. This allows expressions to be compiled to native code, which improves performance.

Message Log Level

The GUI option “Tools ⇒ Options | System | Message log level” controls the amount of messages generated during model execution — it is not a performance setting. Setting it to Result reduces the volume of messages shown. This helps when running models with lots of loop containers like Repeat, While, For etc, which would otherwise generate a large number of messages.

When the log level is set to Debug or above, it is also possible to define which specific debugging actions (called log subsystems) should be logged.

Model Backups

The checkbox “Create backup copy of the current model script upon saving”, under “Tools ⇒ Options | General | Model Backup”, makes Dinamica EGO copy the content of a model script file every time it is about to be overwritten by a “Save” or “Save As” — this protects against accidental loss of a previous version of the model.

The “Backup Folder” field controls where these copies are placed. If left empty, copies are placed in the same folder as the original model. To restore a model to a previous state, copy the corresponding file back from the backup folder to its original location.

EGO Script Formatting

The settings under “Options | EGO Script” control how a model selection is formatted when it is copied and pasted as EGO Script into an external text editor. See Sketch for the copy/paste mechanism itself.

Library

Sketch

This panel is also referred to as the Model Presentation panel; see Model Presentation for the full reference on its panels and bars.

Model Overview

Explorer

Functor Editor

Model Execution

Calculate Map / Calculate Categorical Map / Calculate Lookup Table Values / Calculate Lookup Table Keys And Values / Calculate Value

Issue Panel