Target digests can be used during graph building to recognize typical patterns that can simplify the construction process. For example, if the sub-graph for pricing any swap is dependent only that swap's currency then a digest of SWAP_currency
might work well. As soon as the sub-graph for one target has been built, any similar targets can reuse that selection quickly. In some circumstances, this may not be necessary for good system performance (and the extra step might incur a penalty). In other circumstances it might be, particularly if selecting a suitable value specification to satisfy a requirement involves substantial back-tracking in function selection.
The implementation needs to be tightly coupled to the behavior of the function repository; for example it might be sufficient to use the asset class of the associated security. If functions are basing their requirements on more specific properties on the targets (for example the currency) then that should also be included in the digest for the best effect. The extreme case is to use the target itself as its own digest but this does not then give any performance improvement.
The function compilation context is available when calculating the digest as some functions might make use of information embedded within the view calculation configuration to alter their behaviors.
|
|