The Data Splitter JavaScript component has been enhanced to allow you to evaluate and define mutually exclusive output port conditions, thus delivering a significant performance improvement that not only eliminates memory allocation system calls, but also provides an efficient method of memory management.
In versions of Sybase ETL earlier than 4.9, the Data Splitter JavaScript component could only evaluate an input record against the conditions of every output port, causing potential bottlenecks and memory blockages. Furthermore, it did not offer the flexibility to use any other efficient logical constructs.
You can now use the Data Splitter JavaScript component to define mutually exclusive output port conditions, thus significantly reducing condition evaluations. Every input record matches with 0 or 1 output port expressions. The first output port with a matching condition receives the input record. No further port conditions are evaluated. If the expression does not match, it goes to the next port to evaluate the expression until a match occurs to commit the data in the matching port.
If data trends exist that favor some conditions over others, you can specify a custom evaluation sequence, listing the higher probability conditions at the beginning. This is especially useful when the number of output ports increases, as it helps to avoid evaluation of unnecessary conditions.
See Chapter 5, “Components” in the Sybase ETL 4.9 Users Guide.