ImprovingRulesBuildPerformance

This page is a place for Michael to dump his frequent rants and notes on improving build performance.

 

There hasn't as yet been a lot of work done in tuning this process for performance. Some improvements have been made in the compiler, and using MVEL can yield good results.

 

The problem areas:

 

  • Compiling (parsing is very fast)

  • Rete network building

  • Serialization/deserialization of binary assets

 

There is a utility class LargeRuleBase which provides the ability to generate large numbers of complex rules for profiling.

 

Its results (so far) for 20K complex rules:

 

Time taken for parsing: 6264

Time taken for compiling: 168864

Time taken rete building: 968571

Time taken serializing rulebase: 42739