You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
retains many javaparser objects (e.g. MethodDeclaration). Can we free them after build?
PredicateInformation takes non-negligible amount of heap. drools.predicateInformation.maxRuleDefs = 0 may reduce some heap. We may consider an option to completely disable PredicateInformation.
kjar
500 rules ( a 5MB file)
after build a kjar with kie-maven-plugin -> With VisualVM, footprint is around 420MB (code gen) and 970MB (compile)
after getKiebase with kjar client -> 69 MB (much smaller than KieFileSystem, but still larger than non-exec-model?)
5000 rules ( a 53MB file)
after build a kjar with kie-maven-plugin -> With VisualVM, footprint is around 3.7GB (code gen) and 11.8GB (compile)
after getKiebase with kjar client -> 485 MB (still larger than non-exec-model)
This GH issue is to investigate the memory usage and look for improvements.
The text was updated successfully, but these errors were encountered:
50000 rules (a 53MB file) resulted in 3.7GB with Drools 8.44.0.Final with non-exec-model.
Executable model required more memory at the build time.
https://github.com/tkobayas/drools-heap-check
https://github.com/tkobayas/drools-heap-check-kjar
To be updated with more detailed data
Drools 8.44.0.Final
non-exec-model
KieFileSystem
5000 rules (a 5MB file)
after build -> 309 MB
after getKieBase -> 405 MB heap
compilationUnit
is not shared between the same expression constraint. Not sure if there is a room to improve.evaluationContext
takes some heap. In drools 7.62+, setting system propertydrools.evaluationContext.maxRuleDefs
=0
may reduce some heap.exec-model
KieFileSystem
500 rules ( a 5MB file)
after build -> 304 MB
after getKiebase -> 334 MB
almost 10 times larger than non-exec-model
org.drools.model.codegen.execmodel.PackageModel : 214MB
MethodDeclaration
). Can we free them after build?PredicateInformation
takes non-negligible amount of heap.drools.predicateInformation.maxRuleDefs
=0
may reduce some heap. We may consider an option to completely disable PredicateInformation.kjar
500 rules ( a 5MB file)
after build a kjar with kie-maven-plugin -> With VisualVM, footprint is around 420MB (code gen) and 970MB (compile)
after getKiebase with kjar client -> 69 MB (much smaller than KieFileSystem, but still larger than non-exec-model?)
5000 rules ( a 53MB file)
after build a kjar with kie-maven-plugin -> With VisualVM, footprint is around 3.7GB (code gen) and 11.8GB (compile)
after getKiebase with kjar client -> 485 MB (still larger than non-exec-model)
This GH issue is to investigate the memory usage and look for improvements.
The text was updated successfully, but these errors were encountered: