In Data3Sixty Analyze, we use composite nodes to group nodes inside other nodes. They allow us to build powerful, reusable blocks of functionality which can be reused across a data flow, or even in other data flows. It can also be helpful for ease of reuse and readability. The grouped nodes on the inside are known as container nodes, and the property values defined at composite level are passed down to the contained nodes.
If you have data flows that contain a lot of nodes, we recommend restructuring the data flow into composites.
SPEED OF COMPOSITES:
With Run Dependencies:
Composites are graphical objects, that have nothing to do with speed of the individual nodes, unless you add clocks (Run Dependencies). For more information on performance with Run Dependencies, see our Help Section on Composite Performance HERE If you go to any node inside of a composite, and look at it's Run Dependencies, you will find this...
These options help you control how the clocks are handled between the node you have selected, and other nodes outside of the composite.
Without Run Dependencies:
Without Run Dependencies, Composites may well assist with speeding up the response time of the UI, i.e. when there are less nodes to display, the response time is faster.
If you don't setup Run Dependencies / Clocks, then composites are invisible to the execution. When executing, the compiler makes sure everything is up to date. If nothing has changed (which would affect the compiled model) within a composite, the compiler knows that it doesn't need to look at anything within the composite. So, if you are not clocking big composites to each other (with no internal clocking), then use of composite nodes can help. This is especially true in the browser.... having multiple nodes and connections will decrease performance of the UI significantly.
SOME COMPOSITE NODE TIPS:
- Group your inputs - each into it's own composite (assuming there are several nodes)
- Logical strings of Transformation and Analysis should go together into their own composites
- Multiple output sources should each have their own composites
- Try to make each "canvas" to have less than 20 nodes, for readability
- Name your composites and nodes.
NOTE: this topic is is still under discussion and development. The goal is to improve handling of all of this and make it smoother for the user. You can keep an eye out for improvements such as these in the Release Notes for each new release.