The WAF runs on logs processing with only a few addresses ever pushed. It would likely result in a substantial performance improvement if the rules could be stripped of all addresses that will never be pushed, and rules with no addresses left removed.
This could be implemented as a new option when rules are loaded, or, perhaps a worse option, as a tool to preprocess the rules file.