/xmlbench/trunk

To get this branch, use:
bzr branch http://darksoft.org/webbzr/xmlbench/trunk

« back to all changes in this revision

Viewing changes to xsl/bench.java

  • Committer: Suren A. Chilingaryan
  • Date: 2009-02-16 09:27:17 UTC
  • Revision ID: csa@dside.dyndns.org-20090216092717-wipyvaaw2srxhgns
Initial import

Show diffs side-by-side

added added

removed removed

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