Hi Kogito Team,
I would like to run our scenario and get a better understanding of DMN performance.
Requirement:
Execute a DMN in a basic java project for each entity. Run for 10,000 entities and gather performance numbers.
DMN Logic:
For each Enitit
"ssn": "100000001"}
{ "ssn": "100000002", "offsets": [{"tc": "706", "wc": "008"}, {"tc": "826", "wc": "008"}, {"tc": "979", "wc": "010"}, {"tc": "706", "wc": "008"}] }
{ "ssn": "100000003", "offsets": [{"tc": "706", "wc": "008"}, {"tc": "826", "wc": "008"}, {"tc": "826", "wc": "000"}] }
{ "ssn": "100000004", "offsets": [{"tc": "706", "wc": "008"}, {"tc": "706", "wc": "008"}] }
{ "ssn": "100000005", "offsets": [{"tc": "826", "wc": "008"}, {"tc": "979", "wc": "010"}, {"tc": "979", "wc": "010"}] }
{ "ssn": "100000006", "offsets": [{"tc": "706", "wc": "008"}, {"tc": "826", "wc": "008"}, {"tc": "826", "wc": "008"}, {"tc": "706", "wc": "008"}] }
{ "ssn": "100000007", "offsets": [] }
{ "ssn": "100000008"}
get offsetset count incrementally by building the offset keys [tc + ", " wc].
[OffsetCounter( key=706, 008, count=7 ), OffsetCounter( key=826, 008, count=5 ), OffsetCounter( key=979, 010, count=3 ), OffsetCounter( key=826, 000, count=1 )]
Issue:
The DMN execution takes 10 - 12 seconds to run for 10,000 entities while Java takes less than 300 ms. Now I do understand Java is faster by default (call by reference), but DMN should not be that off. I wanted help to validate the DMN if I can fine tune for better performance.
Please find the attached
GitHub repo - https://github.com/ravim786/dmn-performance
DMN - https://github.com/ravim786/dmn-performance/blob/master/src/test/resources/run15perAccount.dmn
Java Runner - https://github.com/ravim786/dmn-performance/blob/master/src/test/java/com/foo/dmnperformance/JavaPerformanceRunner.java
I also attached the DMN for reference. I tuned by building the key lists and have another flavor which improved to 9 seconds - https://github.com/ravim786/dmn-performance/blob/master/src/test/resources/run15PerfFix2.dmn
Thanks for a your support
Ravi Mangalagiri
--
You received this message because you are subscribed to the Google Groups "Kogito development mailing list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kogito-developm...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/kogito-development/CALg%3DC8Ndtwk7H896aiO1-4%3Df6hyDnSxWG%3DMtfKjvPZCAg%3D8fdA%40mail.gmail.com.