org.deri.iris.rules.ordering
Class SimpleReOrdering

java.lang.Object
  extended by org.deri.iris.rules.ordering.SimpleReOrdering
All Implemented Interfaces:
IRuleReOrderingOptimiser

public class SimpleReOrdering
extends Object
implements IRuleReOrderingOptimiser

Very naive proof of concept, but speeds up a few unit tests by a factor of 10. Attempt to re-order rules by simply looking for the first positive ordinary literal in each rule's body.


Constructor Summary
SimpleReOrdering()
           
 
Method Summary
 List<IRule> reOrder(Collection<IRule> rules)
          Re-order the rules.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleReOrdering

public SimpleReOrdering()
Method Detail

reOrder

public List<IRule> reOrder(Collection<IRule> rules)
Description copied from interface: IRuleReOrderingOptimiser
Re-order the rules. The returned collection will have an implied ordering.

Specified by:
reOrder in interface IRuleReOrderingOptimiser
Parameters:
rules - The rules to re-order.
Returns:
The same rules, but in a more efficient order for evaluation.