Question
![](/profiles/pega_profile/modules/pega_user_image/assets/user-icon.png)
![](/profiles/pega_profile/modules/pega_user_image/assets/user-icon.png)
Rulesware LLC
CA
Last activity: 13 Jan 2016 21:52 EST
How do we calculate the cost of adding declare index rules?
We are attempting to determine if declare indexes are a good match for our use case. One important factor is performance.
Is there some formula to help us in making that decision?
Our experience seems to indicate that the cost is not linear.
-
Like (0)
Junnaid Javed -
Share this page Facebook Twitter LinkedIn Email Copying... Copied!
Accepted Solution
![](/profiles/pega_profile/modules/pega_user_image/assets/user-icon.png)
![](/profiles/pega_profile/modules/pega_user_image/assets/user-icon.png)
Pegasystems Inc.
IN
Hi Joseph,
We don't have any algorithm which will give you a performance score given some inputs on indexes. But in general the indexes would become an overhead if there are page transformations like page-copy, replacing page, changing handle of the work object etc... if which case the whole work object is re-indexed. If the number of indexes increase the time to re-index would increase.
![](/profiles/pega_profile/modules/pega_user_image/assets/user-icon.png)
![](/profiles/pega_profile/modules/pega_user_image/assets/user-icon.png)
Pegasystems Inc.
IN
![](https://accounts.pega.com/sites/default/files/styles/user_image/public/1689977000/ca5d61dc-47bd-406c-8ea6-9d6a790a4f7e.jpg?itok=O3xagdnP)
![](https://accounts.pega.com/sites/default/files/styles/user_image/public/1689977000/ca5d61dc-47bd-406c-8ea6-9d6a790a4f7e.jpg?itok=O3xagdnP)
Pegasystems Inc.
IN
Hi Joseph,
DB Trace can be a good starting point for evaluating performance related to declare indexes.
![](/profiles/pega_profile/modules/pega_user_image/assets/user-icon.png)
![](/profiles/pega_profile/modules/pega_user_image/assets/user-icon.png)
Rulesware LLC
CA
Hi Pankaj,
We are looking for a formula/algorithm so that we can know in advance the performance impact. We do not want to build the solution, in order to determine the cost of the solution, so that we can then finally determine if the proposed solution is appropriate.
Pega has an alert for "too many" declare indexes, this would seem to indicate that they have performed some of these calculations in the past. If someone from Pega would be so kind ? that would be wonderful.
Updated: 4 Jan 2016 19:10 EST
![](https://accounts.pega.com/sites/default/files/styles/user_image/public/1689977000/ca5d61dc-47bd-406c-8ea6-9d6a790a4f7e.jpg?itok=O3xagdnP)
![](https://accounts.pega.com/sites/default/files/styles/user_image/public/1689977000/ca5d61dc-47bd-406c-8ea6-9d6a790a4f7e.jpg?itok=O3xagdnP)
Pegasystems Inc.
IN
Thanks Joseph
I was thinking for performance impact during development.
Just to clarify Alert 0034 is for "too many declare indexes in single transaction" and not for "too many" declare indexes in the system.
Declare Indexes are expensive in the sense that more declare indexes you have more time they will add to your original transaction and that's why there is a threshold limit value.
Other than that I think you shouldn't worry about performance unless you are planning to create multiple or rather too many declare indexes in same class/transaction.
![](/profiles/pega_profile/modules/pega_user_image/assets/user-icon.png)
![](/profiles/pega_profile/modules/pega_user_image/assets/user-icon.png)
Rulesware LLC
CA
We have over a hundred intents/flows (CPM), with multiple page lists and page groups for each. There is potential for many of these to be exposed via declare indexes in the future.
Are you certain that declare indexes for other classes will not affect the current work object processing time.
Each time a page is saved, isn't a declarative network checked? There must be a matching/filtering step happening in the code, in order to determine if any declarative rules match the current property changes.
So won't performance be affected as the network grows in size?
![](https://accounts.pega.com/sites/default/files/styles/user_image/public/1689977000/ca5d61dc-47bd-406c-8ea6-9d6a790a4f7e.jpg?itok=O3xagdnP)
![](https://accounts.pega.com/sites/default/files/styles/user_image/public/1689977000/ca5d61dc-47bd-406c-8ea6-9d6a790a4f7e.jpg?itok=O3xagdnP)
Pegasystems Inc.
IN
Hi Joseph,
Yes, logic does look at the declarative network and it will have some performance impact (for added extra transaction).
However as far as performance impact related to declarative/dependency network goes, it should be negligible for adding new 1-2 declare indexes.
My earlier responses were based on an assumption that you are looking for very few declare index rules based on requirements (Actually I thought you are only talking about adding one more to your system ).
I have a clear idea now of your actual concern and the kind of stats you are looking for. I would try to get more information on this.
![](/profiles/pega_profile/modules/pega_user_image/assets/user-icon.png)
![](/profiles/pega_profile/modules/pega_user_image/assets/user-icon.png)
Rulesware LLC
CA
Thank you Pankaj.
![](/profiles/pega_profile/modules/pega_user_image/assets/user-icon.png)
![](/profiles/pega_profile/modules/pega_user_image/assets/user-icon.png)
Rulesware LLC
CA
Hi Pankaj,
Have you been able to acquire the information ?
![](https://accounts.pega.com/sites/default/files/styles/user_image/public/1689977000/ca5d61dc-47bd-406c-8ea6-9d6a790a4f7e.jpg?itok=O3xagdnP)
![](https://accounts.pega.com/sites/default/files/styles/user_image/public/1689977000/ca5d61dc-47bd-406c-8ea6-9d6a790a4f7e.jpg?itok=O3xagdnP)
Pegasystems Inc.
IN
Sent a reminder again to the team. Hopefully we will have a reply by tomorrow
Accepted Solution
![](/profiles/pega_profile/modules/pega_user_image/assets/user-icon.png)
![](/profiles/pega_profile/modules/pega_user_image/assets/user-icon.png)
Pegasystems Inc.
IN
Hi Joseph,
We don't have any algorithm which will give you a performance score given some inputs on indexes. But in general the indexes would become an overhead if there are page transformations like page-copy, replacing page, changing handle of the work object etc... if which case the whole work object is re-indexed. If the number of indexes increase the time to re-index would increase.