Single Dispatching Benchmarks

Created by Yoav Zibin and Yossi Gil

Subtyping Tests (or Type Inclusion) Benchmarks
All dispatching benchmarks in COU/COMPACT format, click here for format explanations
The constraints on all formats are:
  1. The hierarchy has a single root.
  2. Types are given in a topological order.
  3. NO transitive edges, i.e., we only write the direct parents of each type.
  4. Method families are always of size greater than 1 (no degenerate method families).
  5. NO Ambiguities! We assumed method families are augmented with ambiguity resolvers.

Concerning Multiple-Dispatching

The best known multi-dispatching techniques (good test time, and reasonable space requirements) are called: Single Reciever Projections (SRP) and Compressed N-dimensional dispatch Tables (CNT) (also here, and here).
They are both based on the idea of reducing a dispatch of a multi-method of arity k to k single dispatching. In CNT the results of these k dispatching are indices used to access a k-dimensional table (storing method addresses). In SRP the results are bitvectors; we then AND the bitvectors, find the index of the leftmost ON bit, which is then used to access an array of method addresses.
In the zip file containing all benchmarks, you'll find the single dispatching projection of the multi-methods (which is simply replacing a multi-method of arity k by k mono-methods). I removed families with a single member, and also arguments which never change.

The benchmarks