| A simple harness for running benchmarks over object serialization products.
There are three dimensions that can be added:
-
Product (e.g. DOM, SAX, XPP...)
-
Metric (e.g. time taken, memory usage, output size...)
-
Target (e.g. a small object, large object, list of objects...)
The Harness will then across every permutation of these
(in order of product, metric, target), and write the results to a
Reporter .
Example usage
Harness harness = new Harness();
// Compare speed of serialization/deserialization metrics...
harness.addMetric(new SerializationSpeedMetric());
harness.addMetric(new DeserializationSpeedMetric());
// Using a simple String and a JTree instance...
harness.addTarget(new StringTarget());
harness.addTarget(new JTreeTarget());
// Across XStream with different XML drivers.
harness.addProduct(new XStreamDom());
harness.addProduct(new XStreamXpp());
harness.addProduct(new XStreamSax());
// Now do it, and report the results as text to the console.
harness.run(new TextReporter());
author: Joe Walnes |