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