1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
import java.io.*;
import java.util.*;
import java.text.*;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
public class bench {
public void InitXML() {};
public void InitXML_Transformation(FileInputStream is) {};
public void ReleaseXML() {};
public void ParseXML(FileInputStream is, int iters, int iter) {};
public void TransformXML(FileInputStream is, int iters, int iter) {};
public void Bench(String argv[]) throws IOException {
int iterations,size,mode;
if (argv.length<2) {
System.err.println("Usage:\n\tme <iterations> <xml file|xmlgen|opcgen> [<xsl file>|size]");
} else {
iterations = Integer.parseInt(argv[0]);
Collator mc = Collator.getInstance();
if (mc.compare(argv[1],"xmlgen")==0) mode=1;
else if (mc.compare(argv[1],"opcgen")==0) mode=2;
else mode=0;
if (mode>0) size = Integer.parseInt(argv[2]);
else size=0;
double a,b;
Date pre,post;
SimpleDateFormat s,ms;
disp d = new disp();
double result,init_result,init_result2, init_dtime, init_d;
s=new SimpleDateFormat("ss");
ms=new SimpleDateFormat("SSS");
FileInputStream file;
FileInputStream xslfile;
InitXML();
if (mode==0)
file = new FileInputStream(argv[1]);
else
file = new FileInputStream("../xml.tmp/0.xml");
ParseXML(file,iterations,0);
pre=new Date();
if (mode==0)
xslfile = new FileInputStream(argv[2]);
else if (mode==1)
xslfile = new FileInputStream("../xml.files/generated.xsl");
else
xslfile = new FileInputStream("../xml.files/opc.xsl");
InitXML_Transformation(xslfile);
post=new Date();
file.close();
xslfile.close();
a=Double.valueOf(s.format(post)).doubleValue();
b=Double.valueOf(s.format(pre)).doubleValue();
init_result=(post.getTime()-pre.getTime());
pre=new Date();
if (mode==0)
file = new FileInputStream(argv[1]);
else
file = new FileInputStream("../xml.tmp/0.xml");
TransformXML(file,iterations,0);
post=new Date();
file.close();
a=Double.valueOf(s.format(post)).doubleValue();
b=Double.valueOf(s.format(pre)).doubleValue();
init_result2=(post.getTime()-pre.getTime());
for (int i=1;i<=iterations;i++) {
if (mode==0)
file = new FileInputStream(argv[1]);
else
file = new FileInputStream("../xml.tmp/" + i + ".xml");
ParseXML(file,iterations,i);
pre=new Date();
TransformXML(file,iterations,i);
post=new Date();
file.close();
a=Double.valueOf(s.format(post)).doubleValue();
b=Double.valueOf(s.format(pre)).doubleValue();
result=(post.getTime()-pre.getTime());
d.disp_event(result);
// System.err.println(result);
}
d.disp_post();
if (mode==2)
System.err.println("XSL Transformation Time "+ (d.disp_s)+" ms for " + iterations + " messages");
else {
init_dtime=(init_result2 - d.disp_m);
if (init_dtime<0.1) {
init_d=0;
init_dtime=0;
} else {
init_d=300 * d.disp_d / init_dtime;
}
System.out.println("Initialisation time " + init_result + " + " + init_dtime + "(" + init_d + "%) ms");
System.out.println("XSL Transformation Time " + (d.disp_m) + "(" + (300*(d.disp_d)/(d.disp_m)) + "%)");
}
ReleaseXML();
}
}
}
|