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")) {
25
TimeSpan te = new TimeSpan(0);
26
TimeSpan ts = new TimeSpan(0);
35
if (mode) xml = new FileStream("../xml.tmp/0.xml", FileMode.Open);
36
else xml = new FileStream(args[1], FileMode.Open);
38
ParseXML(xml, iterations, 0);
39
EncryptXML(xml, iterations, 0);
40
DecryptXML(xml, iterations, 0);
41
SignXML(xml, iterations, 0);
42
VerifyXML(xml, iterations, 0);
46
for (int i = 0; i < iterations; i++) {
47
if (mode) xml = new FileStream("../xml.tmp/" + (i+1) + ".xml", FileMode.Open);
48
else xml = new FileStream(args[1], FileMode.Open);
50
ParseXML(xml, iterations, 0);
53
EncryptXML(xml, iterations, 0);
54
DecryptXML(xml, iterations, 0);
56
de.disp_event((post - pre).TotalMilliseconds);
60
SignXML(xml, iterations, 0);
61
VerifyXML(xml, iterations, 0);
63
ds.disp_event((post - pre).TotalMilliseconds);
75
if (args[1] == "opcgen") {
76
Console.WriteLine("Mono Encryption Time: " + te.TotalMilliseconds + " ms");
77
Console.WriteLine("Mono Signature Time: " + ts.TotalMilliseconds + " ms");
79
Console.WriteLine("Mono Encryption Time: " + (te.TotalMilliseconds/iterations) + "(" + (300*(de.disp_d)/(de.disp_m)) + "%)");
80
Console.WriteLine("Mono Signature Time: " + (ts.TotalMilliseconds/iterations) + "(" + (300*(ds.disp_d)/(ds.disp_m)) + "%)");
83
virtual public void InitXML() {}
84
virtual public void InitXML_Security() {}
85
virtual public void ReleaseXML() {}
86
abstract public void ParseXML(Stream xml, int iters, int iter);
87
abstract public void SignXML(Stream xml, int iters, int iter);
88
abstract public void VerifyXML(Stream xml, int iters, int iter);
89
abstract public void EncryptXML(Stream xml, int iters, int iter);
90
abstract public void DecryptXML(Stream xml, int iters, int iter);