The formats of our benchmarks

The format include the type-hierarchy structure, i.e., the name of types and the inheritance links connecting them. The dispatching benchmarks also include the names of messages. A message is the unique identifier for a set of types which declared a method implementation for that message. This set of types is called a method family.
  1. COU
    This is a lisp like format. Lines starting with a comma (;) are comments. The file has the following structure:

    (
    (type-name (list-of-direct-parents) (list-of-attributes) (list-of-methods))
    ...
    )

  2. COMPACT
    This file has an easy to process format. Each type/message is given a zero-based ID, which is its relative position compared to the other types.
    The file has the following structure:

    number-of-types
    type-name number-of-direct-parents
    list-of-direct-parents-IDs
    ...
    number-of-messages
    message-name size-of-method-family
    list-of-family-members-IDs
    ...