apache/incubator-kie-drools

Performance issue with many kbase models and many large spreadsheets

Closed this issue · 2 comments

When a KieProject has many kbase models and many large spreadsheets, buildAll() becomes slow.

AbstractKieProject.buildKnowledgePackages is called per kbase model.
KieBuilderImpl.filterFileInKBase is called per file.

Then, KieBuilderImpl.packageNameFromDtable -> DecisionTableProviderImpl.loadFromResource -> SpreadsheetCompiler.compile is called.

If a KieProject has 20 kbase models and 20 spreadsheets, packageNameFromDtable is called 400 times. One packageNameFromDtable may not take very long time (1 or 2 seconds), but 400 times are significant.

Fixed by 011e17a