6
abstract public class XMLBench {
7
public string schema_file;
8
public string schema_location;
10
public void Bench(string[] args) {
12
Console.WriteLine("Usage:\n\tme <iterations> <xml file|xmlgen|opcgen|xmark> [size|schema] [schema_location]");
15
int iterations = Convert.ToInt32(args[0]);
18
if ((args[1] == "xmlgen")||(args[1] == "opcgen")||(args[1] == "xmark")) {
21
schema_file = "../xml.files/generated.xsd";
22
schema_location = "../xml.files/generated.xsd";
25
schema_file = "../xml.files/opc.xsd";
26
schema_location = "http://opcfoundation.org/webservices/XMLDA/1.0/";
29
schema_file = args[2];
30
schema_location = (args.Length>2)?args[3]:args[2];
36
schema_file = args[2];
37
schema_location = (args.Length>2)?args[3]:args[2];
41
TimeSpan ts = new TimeSpan(0);
48
if (mode) xml = new FileStream("../xml.tmp/0.xml", FileMode.Open);
49
else xml = new FileStream(args[1], FileMode.Open);
51
ParseXML(xml, iterations, 0);
55
for (int i = 0; i < iterations; i++) {
56
if (mode) xml = new FileStream("../xml.tmp/0.xml", FileMode.Open);
57
else xml = new FileStream(args[1], FileMode.Open);
60
ParseXML(xml, iterations, 0);
62
d.disp_event((post - pre).TotalMilliseconds);
71
TimeSpan vts = new TimeSpan(0);
74
InitXML_Validation(schema_file, schema_location);
76
if (mode) xml = new FileStream("../xml.tmp/0.xml", FileMode.Open);
77
else xml = new FileStream(args[1], FileMode.Open);
79
ValidateXML(xml, iterations, 0);
83
for (int i = 0; i < iterations; i++) {
84
if (mode) xml = new FileStream("../xml.tmp/0.xml", FileMode.Open);
85
else xml = new FileStream(args[1], FileMode.Open);
88
ValidateXML(xml, iterations, 0);
90
dv.disp_event((post - pre).TotalMilliseconds);
91
// Console.WriteLine((post - pre).TotalMilliseconds);
104
if (args[1] == "opcgen") {
105
Console.WriteLine("Mono Validation Time: " + ts.TotalMilliseconds + " ms");
107
// Console.WriteLine("Mono Time: " + ts.TotalMilliseconds/iterations + " ms");
108
// Console.WriteLine("Mono Time: " + (dv.disp_m-d.disp_m) + "(" + (300*(d.disp_d+dv.disp_d)/(dv.disp_m-d.disp_m)) + "%)");
109
Console.WriteLine("Mono Validation Time: " + (ts.TotalMilliseconds/iterations) + "(" + (300*(d.disp_d+dv.disp_d)/(dv.disp_m-d.disp_m)) + "%)");
112
virtual public void InitXML() {}
113
virtual public void InitXML_Validation(string schema_file, string schema_location) {}
114
virtual public void ReleaseXML() {}
115
abstract public void ParseXML(Stream xml, int iters, int iter);
116
abstract public void ValidateXML(Stream xml, int iters, int iter);