performance test framework summary

introduction

This document describes the Jena performance testing framework.

performance tests

A performance test is a class that implements the PerformanceTest interface. That interface has the methods:

running tests

The usual way to run the tests is from the command line. The test-running class is com.hp.hpl.jena.perf.Run. The quick help is:
Run -help
Run [-noisy] [-title <TITLE>] [-tests <TESTNAME>] [-config <CONFIG-FILE>]

Run in the top-level directory of the CVS jena-perf download.
Arguments can be repeated, to add more tests, or more config.
When not specified, the default tests are 'legacy10'.
When not specified, the default config is etc/config.n3.
File names are specified in etc/location-mapping.n3.
It takes the following options, in any order: The output RDF/N3 is written to standard output.

config file

The config file(s) define test groups by their short names. A test group is a resource with at least one perf:shortName property; the string value of that property is the group's short name. Note that a test may be empty, ie contain no classes either directly or indirectly.

Note also that it is permitted for tests to cross-refer to one another, in which case they are equivalent and contain all of each other's tests.

classpath issues

When running the tests, the classpath must include both the framework classes and the Jena libraries of the Jena release being tested.

test result schema

The tests results are RDF (expressed as N3) according to a schema not yet exposed. The test run is represented as a bnode with two properties: an environment describing the test environment: and a suite whose elements describe each test run: See com.hp.hpl.jena.perf.Perf for the vocabulary.

displaying test results

The test results can be rendered by running the class com.hp.hpl.jena.perf.Render, supplying the names of test result files on the command line. Render generates an HTML table from the combined results.