Enable Short Char

Select Enable Level One through to Nine as required.

Default is Disable.

This setting indicates whether special Short Char handling should be generated to improve the runtime performance of Visual LANSA applications using the RDMLX types of String and Char.

Changing a partition's Short Char Level can alter the structure of LANSA working lists that contain one or more fields of type string and/or char. This altered structure is not compatible between LANSA objects that share the working list unless all these objects are rebuilt. If you do change the Short Char level, you must rebuild all the files, functions, forms and reusable parts in the partition in order to avoid unpredictable behavior at runtime.

By default the Visual LANSA runtime maintains the current value of a String/Char field by dynamically allocating a piece of memory long enough to store the field's current value. This is an efficient memory management mechanism when the length of a field's current value is generally much less than the field's defined length. On the down side, this mechanism does incur a performance overhead in order to manage the allocation and de-allocation of the piece of memory. This overhead can impact the performance of large working lists that include String/Char fields.

In order to minimize this overhead Visual LANSA has the facility to generate Short Char handling for String/Char fields. Short Char support is implemented by a single allocation of memory that can store the largest value allowed by the field's length. This feature saves the overhead of per value memory management, but this improved performance comes at the expense of a slightly larger memory allocation.

When the disabled setting is selected, Visual LANSA will treat all fields of type String and Char the same, irrespective of length.

To enable this setting, you select a Short Char level from one to nine. Each level corresponds to a multiple of 32 such that the level multiplied by 32 derives a Short Char length. All Visual LANSA fields of type String or Char whose length is less than or equal to the Short Char length will be implemented as a Short Char.

The most appropriate setting requires a judgment call that balances improved performance against increased memory usage. Further, the longer the String/Char field the greater the probability that much of the piece of memory allocated for the field's value will never be used. A reasonable balance can be achieved using a level around 2 to 4.