Skip to content
jkutner edited this page Sep 14, 2010 · 4 revisions

Miss Manners

Ruleby supports the standard “Miss Manners” rule engine benchmark. This performance test, as described in Effects of Database Size on Rule System Performance: Five Case Studies PDF, uses a depth-first search to determine the alternating seating arrangements of males and females with one common hobby.

Disclaimer

Miss Manners executes successfully, but there is a catch. One modification to the standard Miss Manners rule set was required to get the benchmark to work. The salience of the ‘path done’ rule had to be set lower than the salience of the ‘make path’ rule. That is because both rules become satisfied at the same time, and must be sorted based on recency. However, Ruleby’s support for recency in conflict resolution is not as robust as the OPS5 strategy, for example.

It is important to note that Miss Manners is not intended to be a good example of how to write rules. In fact, Miss Manners is a bad example of a rule set because it depends on the recency of facts in order to execute correctly. For this reason, the adjustment to the Miss Manners benchmark should not affect the typical user of Ruleby.

Waltz

The “Waltz” benchmark, which also appears in the paper by Brant, et al, has been implemented using the Ruleby DSL. It is considered unstable at this time, but should appear in an upcoming release.

Other Benchmarks

The Ruleby source repository also contains implementations of some non-standard benchmarks. These examples simply run a variable number of rules and facts to test basic features such as ‘joins.’

Clone this wiki locally