I am testing the performance of DMNs at scale and am wondering if there is any form of a hash map or other performance tweaks I am missing? I have a 50,000 line simple relationship, within a DMN file using Kogito. The relationship is just positive integers from 0-50,000 with a second column being the positive integer divided by 2 (calculated ahead of time and hard coded into the DMN). When making a request via Postman trying to access a specific line in the relation, I see an average response time of 1,200 ms which is way too much for our current use case. If I make the same request on a 5,000 line version of the same relation I see a response time of roughly 500ms. The FEEL expression I am using to access the row I want is RELATION[PARAM=input].column.
I have done a very similar test with Decision Tables. A 5,000 row decision table gives me response times of roughly 387 and a 50,000 row decision table gives me a response time of 500 for the same calculation so I am still seeing some performance trade off based purely on the size of the decision.
--
You received this message because you are subscribed to the Google Groups "Drools Usage" group.
To unsubscribe from this group and stop receiving emails from it, send an email to drools-usage...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/drools-usage/1e4f98d2-9fff-4857-ad7b-734bbb421cc3n%40googlegroups.com.
Hello Matteo,
Thank you for getting back to me so quickly.
You are correct this DMN was not manually created and that we would probably be
better off using a different tool for the job. Would you happen to have any
public examples of a Business Knowledge Model node being used to call custom
Java code that my team and I can reference?
To view this discussion on the web visit https://groups.google.com/d/msgid/drools-usage/2c605d5a-de3a-4237-a4e4-463c0add3613n%40googlegroups.com.
Hello Matteo
Thank you so much for pointing me in the right direction. I have been able to get much better performance by having storage of massive amounts of relational data to external sources and only using the DMN for actual decision logic.
The general business problem that we are working on is that we have an existing Excel file with a 5 digit number of rules that we are looking to integrate with another project that we are building and we are just exploring what role DMNs will play in that and which rules should and shouldn’t be transferred to DMNs.
To view this discussion on the web visit https://groups.google.com/d/msgid/drools-usage/ee695f9e-b374-489e-9688-2799f947b9c6n%40googlegroups.com.