Is there a limit to the length of the ConfigString for the PE Analysis Rule?

I'm trying to judge how best to scale out 1,000's of calculations that are not specific to an asset hierarchy - i.e. a flat structure. I see that the expressions for a rule are part of the AR ConfigString ("{Variable} := {Expression};"), variable mappings are minimal & no concern ("{Variable}||{Output};") and with the expressions being quite lengthy initially (there will be subsequent iterations to break down calculations), does it make sense to either break down the calculations with the same time rule into multiple AR instances, or it is perfectly fine to bunch 1,000's of calculations into a single AR instance? I'm assuming the initial parsing of the config string by the analysis scheduler is the overhead, once the calculation is running its running...

I've done this automatically via code so need to know now which approach is recommended to alter my logic accordingly.

Hi Rhys,

Abacus or AF does not impose any restrictions on the length of the ConfigString, however there are limits imposed by SQL server from a security viewpoint. For all practical purposes you could assume that such a limit (around 2GB if I remember correctly) is not relevant. Note that Abacus PE parser does restrict the maximum node_depth (~500), which depends on your expression. For example "a+b" has a node depth of 2, "a+b+c" has a node depth of 3 and so on. You can reduce node depth by using multiple expressions. For example while "output=a+b+c" has depth of 3, "d:=a+b; output:=d+c" has depth of 2. So it really depends on the complexity of your single expression.

I assume that you mean you have one (or multiple) AF element with lots of attributes, and are writing one PE analysis with either one giant expression or multiple expressions (all within the same analysis) that use attributes from the target element. Please correct me if I misunderstood your configuration.

While this may work, it would not be the best approach for various reasons:

I hope this helps. Please let me know if you have any questions.